Buscar

aprenda-php-mysql

Prévia do material em texto

Usar MySQL com PHP
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.
Ligação com o servidor
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.
Seleção do base de dados
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.
Execução de queries SQL
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>");
mailto:("Fulano","teste@email.com.br");

Continue navegando