Sie sind auf Seite 1von 3

c 

A Base de Dados mais comum para a linguagem php é o mysql, podes fazer o
download no site mysql.com. No entanto podes utilizar outras bases de dados
como, oracle, Sybase, mSQL, PostgreSQL ou qualquer um com ligação
ODBC. Neste tutorial vamos utilizar como padrão o mysql.

Para o php interagir com uma base de dados SQL, independente da base de
dados, existem três comandos básicos que devem ser utilizados: um que faz a
ligação com o servidor da base de dados, um que seleciona a base de dados a
ser utilizada e um que executa uma "query" SQL.




 


A ligação com o servidor da base de dados mySQL em PHP é feita através do


comando mysql_connect, que tem a seguinte sintaxe:

int mysql_connect(string /* endereço do servidor */ , string /* nome do


utlizador */ , string /*password*/ );

Os parâmetros são bastante simples: o endereço do servidor, o nome do


utlizador e a password para a ligação. A função retorna um valor inteiro, que é
o identificador da ligação estabelecida e deverá ser armazenado numa variável
para ser utilizado depois. No nosso exemplo, temos como servidor da base de
dados a mesma máquina que corre o servidor http, como login do utlizador
"root" e password "teste":

$ligacao = mysql_connect("localhost", "root", "teste");

Assim, se a ligação for bem sucedida (existir um servidor no endereço


especificado que possua o utlizador com a password fornecida), o identificador
da ligação fica armazenado na variável $ligacao.

Os comandos para outras base de dados são diferentes, mas usam padrões
parecidos.



 

Uma vez ligadoo, é preciso selecionar abase de dados existente no servidor


com o qual desejamos trabalhar. Isso é feito através da função int
mysql_select_db, que tem a seguinte sintaxe:

int mysql_select_db(string /*nome da dase de dados*/, int /*ligacao*/ );

O valor de retorno é 0 se o comando falhar, e 1 no caso de sucesso. O nome da


base de dados a selecionar é o primeiro parâmetro fornecido, seguido pelo
identificador da ligação. Se este for omitido, o interpretador PHP tentará
utilizar a última ligação estabelecida. Recomenda-se sempre escrever esse
valor, para facilitar a legibilidade do código. No nosso exemplo, a base de
dados a ser selecionada possui o nome "ged":

$ok = mysql_select_db("ged", $ligacao);

Após a execução deste comando qualquer consulta executada para aquela


ligação utilizará a base de dados selecionada.

A variável $ok se for 0 deve lançar a informação não foi possível estabelecer
uma ligação.

m  
 

Após estabelecida a ligação e selecionada a base de dados a ser utilizada, quase


toda a interação com o servidor mySQL pode ser feita através de consultas
escritas em ANSI SQL ( Padrão Structured Query Language), com o comando
mysql_query, que utiliza a seguinte sintaxe:

int mysql_query(string consulta, int [ligacao] );

O valor de retorno é 0 se falhar ou 1 no caso de sucesso. Sucesso aqui significa


que a consulta está sintaticamente correcta e foi executada no servidor.
Nenhuma informação sobre o resultado é retornado deste comando. No caso da
consulta ser um comando SELECT, o valor de retorno é um valor interno que
identifica o resultado, que poderá ser tratado com a função mysql_result() ou
outras. A string query não deve conter ponto-e-vírgula no final do comando, e
o identificador da ligação é opcional. Vamos criar uma tabela como exemplo:

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT


PRIMARY KEY, nome VARCHAR(40), email VARCHAR(50))";

mysql_query($cria, $ligacao);

Ou

$insere = "INSERT INTO exemplo (nome,email) VALUES


("Fulano","teste@email.com.br");

mysql_query($insere, $insere);

Se o comando retornar uma consulta, seria necessário guardar essa consulta


numa variavel como vector. Ou mesmo que não retorne uma consulta, mas se
for necessário saber se realmente o comando foi executado, podes usar uma
variável para testar.

$consulta = "SELECT nome, email FROM exemplo WHERE nome = 'Teste'";

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

printf("Nome: ", mysql_result($resultado,0,"nome"), "<br>\n");


printf("e-mail: ", mysql_result($resultado,0,"email"),"<br>");