• Nenhum resultado encontrado

MySQL. # apt-get install mysql-server. # apt-get install php5-mysql

N/A
N/A
Protected

Academic year: 2021

Share "MySQL. # apt-get install mysql-server. # apt-get install php5-mysql"

Copied!
43
0
0

Texto

(1)

MySQL

Para usar o MySQL com o PHP é necessário ter o servidor MySQL instalado e o pacote php5-mysql, onde no Debian ou Ubuntu podemos instalar esses pacotes com o comando apt-get.

# apt-get install mysql-server # apt-get install php5-mysql

Todas as funções mysql que veremos exibem mensagens de erro, caso ocorra erros e deseje personalizar suas próprias mensagens de erro, use o arroba @ antes da função mysql, por exemplo “@mysql_connect”.

Para utilizar as funções mysql abaixo usaremos o banco de dados “teste“, o usuário “aluno1“ e a tabela “produtos“ com os campos (CodigoProduto, Produto e Preco) criados anteriormente na aula de instalação e configuração do servidor LAMP (Linux, Apache, Mysql, Php e PhpMyAdmin).

Produtos

(2)

mysql_connect

Sintaxe:

int mysql_connect(string [Host [:porta] [:caminho_socket]], string [Usuário], string [Senha])

Faz uma conexão com o servidor MySQL, retornando TRUE se for executado com sucesso, caso contrário retorna FALSE. No campo “Host” pode ser usado um endereço IP (192.168.1.10) ou um nome de host (mysql.dominio.com.br), normalmente é usado o endereço local “localhost” ou “127.0.0.1”. É possível também especificar uma porta ( “ l o c a l h o s t : 3 3 0 6 ” ) o u u m c a m i n h o p a r a o s o c k e t d o M y S Q L (“localhost:/var/run/mysqld/mysqld.sock”).

Exemplo:

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host"); # fecha a conexão com o banco

mysql_close($conexao);

?>

(3)

Sintaxe:

int mysql_pconnect(string [Host [:porta] [:caminho_socket]], string [Usuário], string [Senha])

É i d ê n t i c a a f u n ç ã o m y s q l _ c o n n e c t , c o m a d i f e r e n ç a q u e o l i n k identificador de conexão fica de forma persistente, depois que o script Php encerra a conexão não será fechada. Isso torna o início de uma conexão mais rápido se o mesmo script Php for aberto novamente ou por outro script.

Exemplo:

<?php

# conecta ao servidor localhost

$conexao=@mysql_pconnect("localhost","aluno1","senha") or die ("Erro ao conectar o host"); # fecha a conexão com o banco

mysql_close($conexao);

?>

mysql_close

Sintaxe:

(4)

Fecha uma conexão com o servidor MySQL especificado um identificador de conexão usando a função mysql_connect, está função é obrigatória em todos scripts de conexão com o banco de dados.

Exemplo:

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host"); # fecha a conexão com o banco

mysql_close($conexao);

?>

mysql_error

Sintaxe:

string mysql_error(int Identificador)

Exibe a mensagem de erro da última função MySQL

Exemplo:

<?php

# conecta ao servidor localhost

(5)

?>

Saída do script após a execução

Erro: Access denied for user 'qualquerusuario'@'localhost' (using password: YES)

mysql_error

Sintaxe:

string mysql_error(int Identificador)

Exibe os números dos erros internos do servidor MySQL

Exemplo:

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","qualquerusuario","senha") or die ("Númer do erro: ".mysql_errno());

?>

(6)

Número do erro: 1045

mysql_db_query

Sintaxe:

int mysql_db_query(string Banco, string consultaSQL, int Identificador)

Seleciona um banco de dados no servidor MySQL e executa uma consulta SQL usando um identificador, retorna TRUE se for executado com sucesso e FALSE se ocorrer erro.

Exemplo:

O exemplo abaixo seleciona o banco de dados “teste” com a função “mysql_db_query” e executa a consulta SQL “SELECT” na tabela “produtos”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host"); # seleciona o banco teste, e executa a consulta SELECT

(7)

$resultado = mysql_db_query("teste","SELECT * FROM produtos",$conexao); if(!$resultado)

echo "Não foi possível fazer a consulta no banco";

else

echo "A consulta foi executada com sucesso !!!";

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

A consulta foi executada com sucesso !!!

mysql_select_db

Sintaxe:

int mysql_select_db(string Banco, int Identificador)

Seleciona um banco de dados especificado no servidor MySQL usando um identificador opcionalmente, retorna TRUE se for executado com sucesso e FALSE se ocorrer erro.

(8)

O exemplo abaixo seleciona o banco de dados “teste” usando a função “mysql_select_db” usando o link identificador “conexao” com a função “mysql_connect”

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco teste, e executa a consulta SELECT

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # fecha a conexão

mysql_close($conexao);

?>

mysql_query

Sintaxe:

int mysql_query(string consultaSQL, int Identificador)

Executa uma string SQL no banco de dados MySQL especificado por um identificador opcionalmente e exibe o resultado da consulta ao banco, retorna FALSE se ocorrer erro.

(9)

O exemplo abaixo executa a string SQL “SELECT” usando a função “mysql_query”

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco teste, e executa a consulta SELECT

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela de produtos

$stringSQL = "SELECT * FROM produtos"; # executa a consulta SQL $consulta = mysql_query($stringSQL,$conexao); # fecha a conexão mysql_close($conexao); ?> mysql_affected_rows Sintaxe:

int mysql_affected_rows(int Identificador)

Retorna o total de linhas afetadas por uma consulta SQL INSERT, UPDATE ou DELETE, com exceção na consulta DELETE sem especificar a cláusula WHERE que retorna 0.

(10)

O exemplo abaixo conecta ao servidor localhost usando o usuário “aluno1” ao banco de dados “teste”, insere um linha de registro na t a b e l a “ p r o d u t o s ” , e x e c u t a a c o n s u l t a S Q L c o m o c o m a n d o “mysql_query” e exibe o resultador com “mysql_affected_rows”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host"); # seleciona o banco teste

mysql_select_db("teste",$conexao) or die ("Erro ao conectar a banco de dados"); # insere um registro na tabela produtos

$Consulta = "INSERT INTO produtos(produto,preco)VALUES('CD','4.99')"; # executa a consulta SQL

$Resultado = mysql_query($Consulta,$conexao); # exibe o resultado da consulta

echo "Foram afetadas: <b>" . mysql_affected_rows($conexao) . "</b> linha(s)"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Foram afetadas: 1 linha(s)

mysql_num_rows

(11)

int mysql_num_rows(int Resultado)

Retorna o número total de linhas de uma consulta SQL.

Exemplo:

O exemplo abaixo retorna o número total de linhas com a função “ m y s q l _ n u m _ r o w s ” d a s t r i n g S Q L “ S E L E C T ” u s a n d o a f u n ç ã o “mysql_query”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # exibe o número total de registros

echo "O número total de registros é: <b>" . mysql_num_rows($resultado)."</b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

(12)

mysql_num_fields

Sintaxe:

int mysql_num_fields(int Resultado)

Retorna o número total de campos de uma tabela.

Exemplo:

O exemplo abaixo retorna o número total de campos com a função “mysql_num_fields” da string SQL “SELECT” usando a função “mysql_query”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # exibe o número total de registros

echo "O número de campos é:<b>".mysql_num_fields($resultado)."</b><br>\n"; # fecha a conexão

(13)

mysql_close($conexao);

?>

Saída do script após a execução

O número total de campos é: 3

mysql_list_dbs

Sintaxe:

int mysql_list_dbs(int Identificador)

Retorna todas as tabelas do banco de dados usando uma conexão com um identificador. Para retornar o nome das tabelas, use a função “mysql_tablename”.

Exemplo:

O exemplo abaixo retorna os bancos de dados usando a função “ m y s q l _ l i s t _ d b s ” , o n ú m e r o t o t a l d e b a n c o s c o m a f u n ç ã o

(14)

“mysql_num_rows” e exibe os nomes dos bancos usando o loop “for” junto com a função “mysql_tablename” começando a partir de “0” (banco1 – 0, banco2 – 1, ...).

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","root","senha_root") or die ("Erro ao conectar o host ".mysql_error()); # seleciona as tabelas do banco teste

$bancos = mysql_list_dbs($conexao) or die ("Erro ao acessar o banco ".mysql_error()); # exibe todos os bancos

for($x=0; $x < mysql_num_rows($bancos); $x++) {

echo "Banco $x: " . mysql_tablename($bancos, $x)."<br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Banco 0: information_schema Banco 1: mysql Banco 2: teste ... mysql_list_tables Sintaxe:

(15)

int mysql_list_tables(string Banco, int Identificador)

Retorna todas as tabelas do banco de dados usando uma conexão com um identificador. Para retornar o nome das tabelas, use a função “mysql_tablename”.

Exemplo:

O exemplo abaixo é idêntico ao exemplo anterior com a função “mysql_list_dbs”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","root","senha_root") or die ("Erro ao conectar o host ".mysql_error()); # seleciona as tabelas do banco teste

$tabelas = mysql_list_tables("mysql",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # exibe todas as tabelas do banco

for($x=0; $x < mysql_num_rows($tabelas); $x++) {

echo "Tabela $x: " . mysql_tablename($tabelas, $x)."<br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

(16)

Tabela 0: columns_priv Tabela 1: db Tabela 2: func ... mysql_tablename Sintaxe:

string mysql_tablename(int Resultado, int Indice)

Exibe o nome de uma tabela em um banco de dados. Para retornar o total do número de tabelas, use a função “mysql_num_rows”.

Exemplo:

O exemplo abaixo é idêntico ao exemplo anterior com a função “mysql_list_tables”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","root","senha_root") or die ("Erro ao conectar o host ".mysql_error()); # seleciona as tabelas do banco teste

(17)

# exibe todas as tabelas do banco

for($x=0; $x < mysql_num_rows($tabelas); $x++) {

echo "Tabela $x: " . mysql_tablename($tabelas, $x)."<br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Tabela 0: columns_priv Tabela 1: db Tabela 2: func ... mysql_fetch_array Sintaxe:

array mysql_fecth_array(int Resultado, int TipoResultado)

Exibe um array de linhas de registros de uma tabela no banco de dados. Esta função retorna uma lista indexada com os nomes dos campos da tabela como índices, é possível também usar valores numéricos para os

(18)

campos começando de um “1” (campo[1], campo[2], ...).

O tipo de resultado não é obrigatório, podendo ser: MYQL_ASSOC (índices associativos com os nomes dos campos) , MYSQL_NUM (índices numéricos campo[1], campo[2], ...) ou MYQL_BOTH (ambos).

Exemplo1:

O exemplo abaixo exibe as linhas com os registros da tabela “produtos” em um array com o loop “for” , onde é usado o nome do campo.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armazena os campos da tabela

$campos = mysql_fetch_array($resultado);

# exibe as linhas com os registros da tabela produtos for($x=0; $x <= mysql_num_rows($resultado); $x++) {

echo "Produto: ".$campos["produto"]." Preço: ".$campos["preco"]."<br>\n"; }

# fecha a conexão

mysql_close($conexao);

(19)

Exemplo2:

Este exemplo usa o loop “while” e exibe os campos usando valores numéricos

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao);

# armazena os campos da tabela e os exibe usando indices numéricos campo[1],campo[2], ... while($campos = mysql_fetch_array($resultado,MYSQL_NUM))

{

echo "Produto: ".$campos[1]." Preço: ".$campos[2]."<br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Produto: CD Preço: 4.99

(20)

Sintaxe:

array mysql_fecth_row(int Resultado)

É idêntica a função “mysql_fetch_array”, com a diferença que exibe um array de linhas de registros de uma tabela no banco de dados, retornando uma lista indexada com os nomes dos campos da tabela como índices, usando valores numéricos para os campos começando de zero “0” (campo[0], campo[1], ...).

Exemplo:

O exemplo abaixo exibe as linhas com os registros da tabela “produtos” em um array com o loop “while” , onde é usado o nome do campo. Assim como a função “mysql_fetch_array” é possível usar o loop “for”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao);

# armazena os campos da tabela e os exibe usando indices numéricos campo[0],campo[1], ... while($campos = mysql_fetch_row($resultado))

{

echo "CódigoProduto:<b>".$campos[0]."</b> Produto:<b>".$campos[1]."</b> Preço:<b>".$campos[2]."</b><br>\n"; }

# fecha a conexão

(21)

?>

Saída do script após a execução

CódigoProduto:1 Produto:CD Preço:4.99

mysql_fetch_object

Sintaxe:

object mysql_fecth_object(int Resultado)

Retorna um objeto com atributos referente a linha de registro da tabela. Para especificar os tipos dos campos é necessário utilizar o caractere “->”.

Exemplo:

Este exemplo retorna os valores do campos “código do produto”, “produto” e “preco” da tabela “produtos”.

(22)

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao);

# armazena os campos da tabela e os exibe usando indices numéricos campo[0],campo[1], ... while($campos = mysql_fetch_row($resultado))

{

echo "CódigoProduto:<b>".$campos[0]."</b> Produto:<b>".$campos[1]."</b> Preço:<b>".$campos[2]."</b><br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Produto:CD Preço:4.99

mysql_fetch_field

Sintaxe:

(23)

Retorna as propriedades de uma coluna de uma tabela na forma de um objeto que pode ser:

name – retorna o nome da coluna;

table – rertorna a tabela a qual pertence a coluna;

max_length – retorna o tamanho máximo da coluna;

not_null – retorna 1 se a coluna não for nula;

primary_key - retorna 1 se a coluna for uma chave primária;

unique_key - retorna 1 se a coluna for uma chave única;

multiply_key - retorna 1 se a coluna não for uma chave única;

blob – retorna 1 se a coluna um campo BLOB usado para imagens;

type - retorna o tipo da coluna;

unsigned - retorna 1 se a coluna não tiver sinal;

zerofill - retorna 1 se a coluna for preenchida com zeros.

Exemplo:

Para especificar os tipos dos campos é necessário utilizar o caractere “->”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armazena o nome da tabela

(24)

echo "O nome da tabela é: <b>".$tabela->table."</b><br>\n"; # armazena os nomes dos campos da tabela

while($campos = mysql_fetch_field($resultado)) {

echo "Nome campo:<b>".$campos->name."</b> Tipo:<b>".$campos->type."</b><br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O nome da tabela é: produtos Nome campo:produto Tipo:string Nome campo:preco Tipo:real

mysql_fetch_lengths

Sintaxe:

array mysql_fecth_lengths(int Resultado)

Exibe um array com o tamanho de cada campo , retorna FALSE se ocorrer erro e o primeiro campo começa a partir de 0 (campo[0]) usando as funções “mysql_fetch_array” ou “mysql_fetch_row”.

(25)

Exemplo:

O exemplo abaixo retorna o comprimento dos campos com a quantidade de caracteres.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armanzena um array com os nomes do campos $campos = mysql_fetch_row($resultado);

# armazena o número de campos

$NumeroCampos = mysql_num_fields($resultado); # armazena o comprimento dos campos

$ComprimentoCampos = mysql_fetch_lengths($resultado); # exibe o número total de registros

for($x=0; $x < $NumeroCampos; $x++) {

echo "O comprimeto do $x campo é:<b>".$ComprimentoCampos[$x]."</b> caractere(s), e seu valor é:<b>".$campos[$x]."</b><br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O comprimeto do 0 campo é:1 caractere(s), e seu valor é:1 O comprimeto do 1 campo é:2 caractere(s), e seu valor é:CD

(26)

O comprimeto do 2 campo é:4 caractere(s), e seu valor é:4.99

mysql_field_name

Sintaxe:

string mysql_field_name(int Resultado, int IndiceCampo)

Retorna o nome do campo começando de zero “0” (campo[0]).

Exemplo:

Exibe o nome de todos os campos da tabela “produtos”

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armazena o número de campos

$NumeroCampos = mysql_num_fields($resultado); # exibe os nomes dos campos

(27)

for($x=0; $x < $NumeroCampos; $x++) {

echo "O nome do $x campo é: <b>".mysql_field_name($resultado,$x)."</b><br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O nome do 0 campo é: codigo_produto O nome do 1 campo é: produto

O nome do 2 campo é: preco

mysql_field_seek

Sintaxe:

int mysql_field_seek(mysql_field_name (int Resultado, int IndiceCampo))

Esta função Avança movendo o cursor de ponteiro de campo para o campo especificado começando de zero “0”. (campo[0], campo[1]).

(28)

Exemplo:

O exemplo abaixo avança o cursor para o campo 2 que está na coluna 2 como mostra o exemplo abaixo:

Campo 1 Campo

2 Campo 3

CodigoProduto Produto Preco

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # move o cursor de ponteiro para o campo 2

mysql_field_seek($resultado,2) or die ("Não foi possivel ir até a campo 2"); # armazena os campos

$campo = mysql_fetch_field($resultado); # exibe o nome o campo

echo "O cursor de ponteiro foi movido para o campo:<b>" . $campo->name."</b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

(29)

mysql_field_type

Sintaxe:

string mysql_field_type(int Resultado, int IndiceCampo)

Retorna o tipo de campo de uma tabela começando com zero “0” (campo[0], campo[1]).

Exemplo:

O exemplo abaixo retorna o tipo de cada campo da tabela, onde é utilizado um loop com “for” para exibir os tipos dos campos.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armazena o número de campos

$NumeroCampos = mysql_num_fields($resultado); # exibe o tipo dos campos

(30)

for($x=0; $x < $NumeroCampos; $x++) {

echo "O tipo do $x campo é:<b>" . mysql_field_type($resultado,$x)."</b><br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O tipo do 0 campo é:int O tipo do 1 campo é:string O tipo do 2 campo é:real

mysql_field_table

Sintaxe:

string mysql_field_seek(int Resultado, int IndiceCampo)

R e t o r n a o n o m e d a t a b e l a d e u m c a m p o e s p e c i f i c o , e m u m relacionamento de tabelas retorna o nome de diferentes tabelas de cada campo.

(31)

Exemplo:

O exemplo abaixo retorna o nome da tabela do primeiro (0) e segundo campo (1). É possível utilizar também um loop com “for” ou “ ” para os campos.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao);

echo "O nome da tabela do primeiro campo é:<b>" . mysql_field_table($resultado,0)."</b><br>\n"; echo "O nome da tabela do segundo campo é:<b>" . mysql_field_table($resultado,1)."</b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O nome da tabela do primeiro campo é:produtos O nome da tabela do segundo campo é:produtos

(32)

mysql_field_flags

Sintaxe:

string mysql_field_flags(int Resultado, int IndiceCampo)

Retorna o indicador de tipos do campo de uma tabela separados por espaço começando com zero “0” (campo[0], campo[1]). Os seguintes indicadores de tipos de campo podem ser retornados: auto_increment, primary_key, unique_key, multiple_key, binary, blob, enum, not null, timestamp, unsigned e zerofill.

Exemplo:

O exemplo abaixo retorna os indicadores de tipos de campos dos campos “CodigoProduto”, “Produto” e “Preco”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armazena o número de campos

$NumeroCampos = mysql_num_fields($resultado); # exibe o tipo dos campos

(33)

{

echo "O tipo de indicador do campo $x é:<b>" . mysql_field_flags($resultado,$x)."</b><br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O tipo de flag do campo 0 é:not_null primary_key auto_increment O tipo de flag do campo 1 é:not_null

O tipo de flag do campo 2 é:not_null

mysql_field_len

Sintaxe:

int mysql_field_len(int Resultado, int IndiceCampo)

Retorna o tamanho de um campo de uma tabela começando com zero “0” (campo[0], campo[1]).

(34)

O exemplo abaixo retorna o tamanho dos campos.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armazena o número de campos

$NumeroCampos = mysql_num_fields($resultado); # exibe o tipo dos campos

for($x=0; $x < $NumeroCampos; $x++) {

echo "O tamanho do campo $x é:<b>" . mysql_field_len($resultado,$x)."</b><br>\n"; }

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O tamanho do campo 0 é:11 O tamanho do campo 1 é:35 O tamanho do campo 2 é:12

(35)

Sintaxe:

int mysql_list_field(string Banco, string Tabela, int Identificador)

Retorna informações dos campos de uma tabela no banco de dados como: nome, tipo, tamanho, indicadores de tipo. Para retornar as informações sobre os campos, use as funções mostradas anteriormente “mysql_field_name”, “mysql_field_type”, “mysql_field_len”, “mysql_field_flags”.

Exemplo:

O exemplo abaixo retorna o nome, tipo, tamanho e identificador de tipos do campos.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # armazena as informações dos campos

$resultado = mysql_list_fields("teste","produtos",$conexao); # armazena o número de campos

$NumeroCampos = mysql_num_fields($resultado); # exibe o tipo dos campos

for($x=0; $x < $NumeroCampos; $x++) {

(36)

echo "O tipo do campo $x é:<b>" . mysql_field_type($resultado,$x)."</b><br>\n"; echo "O tamanho do campo $x é:<b>" . mysql_field_len($resultado,$x)."</b><br>\n";

echo "O identificador de tipo do campo $x é:<b>" . mysql_field_flags($resultado,$x)."</b><br>\n"; echo "<hr>";

}

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O nome do campo 0 é:codigo_produto O tipo do campo 0 é:int

O tamanho do campo 0 é:11

O identificador de tipo do campo 0 é:not_null primary_key auto_increment

O nome do campo 1 é:produto O tipo do campo 1 é:string O tamanho do campo 1 é:35

O identificador de tipo do campo 1 é:not_null O nome do campo 2 é:preco

O tipo do campo 2 é:real O tamanho do campo 2 é:12

O identificador de tipo do campo 2 é:not_null

(37)

Sintaxe:

int mysql_free_result(int Resultado)

Esta função libera memória usada na execução de uma string SQL sendo que somente deve ser usada se estiver o script for consumir muita memória. Após a execução de um script toda a memória é liberada de forma automática quando finaliza o script.

Exemplo:

O exemplo abaixo libera a memória usada pela string SQL

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos"; # armazena as informações dos campos

$resultado = mysql_query($consulta,$conexao); while($campos = mysql_fetch_array($resultado)) {

echo "Codigo Produto: <b>" . $campos["codigo_produto"]."</b><br>\n"; echo "Produto: <b>" . $campos["produto"]."</b><br>\n";

echo "Preco: <b>" . $campos["preco"]."</b><br>\n"; }

# libera a memória usada pela string SQL da consulta SELECT mysql_free_result($resultado);

(38)

# fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Codigo Produto: 1 Produto: CD

Preco: 4.99

mysql_insert_id

Sintaxe:

int mysql_free_result(int Identificador)

Retorna o número ID da última string SQL INSERT em um campo auto numerável (AUTO_INCREMET).

(39)

O exemplo abaixo insere uma linha de registro na tabela produtos com os dados do produto “DVD” e preço “9.90” e retorna o último registro na t a b e l a n o c a m p o “ c o d i g o _ p r o d u t o ” a u t o n u m e r á v e l c o m AUTO_INCREMENT.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "INSERT INTO produtos(produto,preco)VALUES('DVD',9.90)"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao);

echo "O valor do último registro é: <b>". mysql_insert_id($conexao)."</b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

O valor do último registro é: 2

Inserindo dados (INSERT)

(40)

O exemplo abaixo insere uma linha de registro na tabela produtos como o produto “Livro” e preço “35,00”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "INSERT INTO produtos(produto,preco)VALUES('Livro',35.00)"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); echo "Dados enviados com sucesso !!! </b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Dados enviados com sucesso !!!

Atualizando dados (UPDATE)

Exemplo:

O exemplo abaixo atualiza o preço do campo “produto” da tabela “produtos” para “1.99” onde o campo for igual a “CD”.

(41)

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "UPDATE produtos set preco=1.99 WHERE produto='CD'"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao);

echo "Dados atualizados com sucesso !!! </b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Dados atualizados com sucesso !!!

Selecionando dados (SELECT)

Exemplo:

O exemplo abaixo seleciona o campo “produto” da tabela “produtos” onde o campo for igual a “CD”.

<?php

(42)

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "SELECT * FROM produtos WHERE produto='CD'"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); # armazena os campos em uma array

$campos = mysql_fetch_object($resultado); # exibe o valor do campo

echo "CD: <b>".$campos->produto."</b> Preço: <b>".$campos->preco."</b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

CD: CD Preço: 1.99

Excluindo dados (DELETE)

Exemplo:

O exemplo abaixo exclui o campo “produto” da tabela “produtos” onde o campo for igual a “CD”.

<?php

# conecta ao servidor localhost

$conexao=@mysql_connect("localhost","aluno1","senha") or die ("Erro ao conectar o host ".mysql_error()); # seleciona o banco

(43)

mysql_select_db("teste",$conexao) or die ("Erro ao acessar o banco ".mysql_error()); # seleciona a tabela produtos

$consulta = "DELETE FROM produtos WHERE produto='CD'"; # executa a string SQL

$resultado = mysql_query($consulta,$conexao); echo "Dados excluidos com sucesso !!!</b><br>\n"; # fecha a conexão

mysql_close($conexao);

?>

Saída do script após a execução

Referências

Documentos relacionados

➢ Agora que você assistiu e ouviu, as orientações e explicações na videoaula, desenvolva as atividades das páginas 58 até 60... SEQUÊNCIA DIDÁTICA–METODOLÓGICA

E, como o leitor em geral adora fatos e boceja com ideias, exemplifiquemos, para terminar, com dois casos da última grande guerra.. Eis aqui duas imparcialidades:

Esta situação não se enquadra em nenhuma das hipóteses acima: o eixo de trans- missão tem direções diferentes para as diversas regiões deste tipo de polarizador.. O que foi

Oracle Products Certifications MySQL Windows Installer &amp; Tools MySQL Enterprise Security.. MySQL

Em particular, a grade de coerˆ encia Zeeman induzida entre estados fundamentais possui longo tempo de vida e cont´ em informa¸c˜ ao sobre os campos incidentes, de forma que permite

Fibras poliméricas têm sido sistematicamente incorporadas às formulações de concretos refratários com o objetivo de diminuir os riscos de explosão durante o processo de

Os resultados dos testes são validos somente se todos controles estiverem dentro dos valores especificados e se todos os outros parâmetros do teste também

Nesta segunda tela do assistente devemos selecionar a fonte de dados TesteMySQL (MySQL ODBC 3.51 Driver), que deve estar dentro do item Enabled Subscribers, e clicar no botão