PHP e MySQL
A Base de Dados mais comum para
a linguagem php↳PHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) → é o mysql↳MySQL8 conteúdosMySQL + Adminer + Docker Compose: montando rapidamente um ambiente para usoData · abr 2019Banco de dados MYSQL no PHPStormDev (Back & Front) · jul 2019Criando um ambiente de desenvolvimento PHP mínimo com Docker – Parte 3Dev (Back & Front) · out 2019Ver tudo em Data → (download no site mysql.com).
No entanto, se preferir, pode usar outras bases de dados
como Oracle, Sybase, mSQL, PostgreSQL ou qualquer uma
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 bastantes
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 correta 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 vetor. Ou mesmo que não retorne uma consulta,
mas se for necessário saber se realmente o comando
foi executado, pode 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>
");
printf("e-mail: ", mysql_result($resultado,0,"email"),"<br>");







