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"), "
\n");
printf("e-mail: ", mysql_result($resultado,0,"email"),"
");
Download do 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"), "
\n");
printf("e-mail: ", mysql_result($resultado,0,"email"),"
");
Download do mySQL »
Sáb Out 18, 2014 12:29 am por orthon
» Iniciante Smudge
Qui Ago 21, 2014 2:56 am por Cdubb
» Um Novo Aprendiz!
Qui Ago 21, 2014 2:50 am por Cdubb
» Eaw galera
Qua Ago 13, 2014 5:09 am por Cdubb
» [PSD] Tutorial !
Sáb Ago 31, 2013 5:22 pm por Paulo_ComandBR
» Reasource Pack #1 Hawkdesign
Ter Jun 18, 2013 11:46 pm por edicelio
» [ Sing ]Capitão America
Dom Jun 02, 2013 1:50 am por edicelio
» Minha Primeira Borda Modelada
Dom Jun 02, 2013 1:47 am por edicelio
» V for Vendetta
Dom Jun 02, 2013 1:40 am por edicelio
» Gamer *--*
Qui maio 30, 2013 10:58 pm por ϟƘƦƖןןΣx
» [Scorpion]Sign
Qui maio 30, 2013 4:02 pm por ϟƘƦƖןןΣx
» Avaliem o kit ?
Qui maio 30, 2013 3:45 pm por ϟƘƦƖןןΣx
» Leilão sign Jimi Hendrix
Qui maio 30, 2013 2:31 pm por ϟƘƦƖןןΣx
» Doações para o forum!
Qui maio 30, 2013 2:06 pm por ϟƘƦƖןןΣx
» Apresentação
Qua maio 29, 2013 10:10 pm por ϟƘƦƖןןΣx