out200929
John Marques
2
Funções MySQL
Nesse artigo irei falar sobre algumas funções do php para administração do banco de dados MySQL, e voltado para pessoas iniciantes em programação em PHP.
mysql_connect
Serve para abrir um conexão com o banco de dados MySQL.
ex:
<?php
// Faz conexão com o MySQL
if(!$conn = mysql_connect("nome_do_servidor","usuario","senha"))
{
die("Não foi possível realizar a conexão.<br />Erro: " . mysql_error());
}
?>
Caso a conexão tenha sucesso a função irá retornar o link identificador, caso contrário irá retorna false.
mysql_select_db
Serve para selecionar o banco de dados.
Para que possamos selecionar uma tabela, temos que fazer a conexão com o banco de dados e após isso fazer a seleção do banco de dados e então depois a seleção da tabela.
Ex.:
<?php
// Faz conexão com o MySQL
if(!$conn = mysql_connect("nome_do_servidor","usuario","senha"))
{
die("Não foi possível realizar a conexão.<br />Erro: " . mysql_error());
}
// Seleciona o banco de dados
if(!mysql_select_db("banco_de_dados",$conn))
{
die("Não foi possível selecionar o banco.<br />Erro: " . mysql_error());
}
?>
Caso funcione a seleção a função irá retornar true (Verdadeiro), caso contrário retornará false (Falso)
mysql_query
Essa é uma das funções do mysql que você mais irá usar, ela executa a SQL (Structured Query Language, ou Linguagem de Consulta Estruturada), essa função serve somente para comandos SELECT, SHOW, EXPLAIN ou DESCRIBE. vamos para o exemplo.
Ex.:
<?php
// Faz conexão com o MySQL
if(!$conn = mysql_connect("nome_do_servidor","usuario","senha"))
{
die("Não foi possível realizar a conexão.<br />Erro: " . mysql_error());
}
// Seleciona o banco de dados
if(!mysql_select_db("banco_de_dados",$conn))
{
die("Não foi possível selecionar o banco.<br />Erro: " . mysql_error());
}
// Executa a SQL
if(!$query = mysql_query("SELECT * FROM nome_tabela",$conn))
{
die("Não foi possível executar a SQL.<br />Erro: " . mysql_error());
}
?>
Nota:
Caso não seja informado o segundo parâmetro da função mysql_query que o link identificador, será usado a última conexão ativa.
Caso funcione a executação da SQL a função irá retornar true e armazenar o resultado, caso não funcione retorna false.
mysql_error
Retorna a mensagem de erro da última operação do MySQL.
mysql_fetch_assoc, mysql_fetch_row e mysql_fetch_array
Essas funções servem para retornar o resultado de execução SQL, todas retornam um matriz, mas existem diferenças e serão listadas logo abaixo.
mysql_fetch_assoc: Retorna o resultado que corresponde ao registro e coloca em uma matriz associativa. Vamos dizer que você tenha uma tabela com os seguintes campos ID, NOME e IDADE, então quando você executa a função ela coloca o resultado do array com os índices iguais ao nome dos campos.
mysql_fetch_row: Retorna o resultado que corresponde ao registro e coloca em uma matriz númerica. Vamos dizer que você tenha uma tabela com os seguintes campos ID, NOME e IDADE, então quando você executa a função ela coloca o resultado do array com os índices númericos, ficando assim ID = 0, NOME = 1 e IDADE = 2.
Nota: O índice do array tem início com o número 0.
mysql_fetch_array: Retorna o resultado que corresponde ao registro e coloca em uma matriz associativa e númerica, sendo assim faz a mesma função que duas logo acima citadas, sendo que pode fazer a juntas do associativo + númerico, ou somente associativo ou númerico, para que você possa retorna somente um resultado associativo deve usar no segundo parametro da função a constante MYSQL_ASSOC, caso queira númerico use a constante MYSQL_NUM, e caso queira as duas opções pode usar o MYSQL_BOTH(mas não há a necessidade, pois essa constante já é padrão).
Ex.:
<?php
// Faz conexão com o MySQL
if(!$conn = mysql_connect("nome_do_servidor","usuario","senha"))
{
die("Não foi possível realizar a conexão.<br />Erro: " . mysql_error());
}
// Seleciona o banco de dados
if(!mysql_select_db("banco_de_dados",$conn))
{
die("Não foi possível selecionar o banco.<br />Erro: " . mysql_error());
}
// Executa a SQL
if(!$query = mysql_query("SELECT * FROM nome_tabela",$conn))
{
die("Não foi possível executar a SQL.<br />Erro: " . mysql_error());
}
// faz o loop, e retorna o resultado ASSOCIATIVO
while($row = mysql_fetch_assoc($query))
{
/*
irá retornar todos os registros da tabela,
sendo que cada linha pode aparece algo parecido com isso:
ID: 1 NOME: JOHN MARQUES IDADE:22
*/
echo "ID: " . $row['id'] . " NOME: " . $row['nome'] . " IDADE: " . $row['idade'] . "<br />";
}
<pre>// faz o loop, e retorna o resultado com índice NÚMERICO
while($row = mysql_fetch_row($query))
{
/*
irá retornar todos os registros da tabela,
sendo que cada linha pode aparece algo parecido com isso:
ID: 1 NOME: JOHN MARQUES IDADE:22
*/
echo "ID: " . $row[0] . " NOME: " . $row[1] . " IDADE: " . $row[2] . "<br />";
}
// faz o loop, e retorna o resultado com índice ASSOCIATIVO e NÚMERICO
while($row = mysql_fetch_array($query))
{
/*
irá retornar todos os registros da tabela,
sendo que cada linha pode aparece algo parecido com isso:
ID: 1 NOME: JOHN MARQUES IDADE:22
*/
echo "ID: " . $row['id'] . " NOME: " . $row['nome'] . " IDADE: " . $row['idade'] . "<br />";
echo "ID: " . $row[0] . " NOME: " . $row[1] . " IDADE: " . $row[2] . "<br />";
}
<pre>// faz o loop, e retorna o resultado com índice ASSOCIATIVO
while($row = mysql_fetch_array($query,MYSQL_ASSOC))
{
/*
irá retornar todos os registros da tabela,
sendo que cada linha pode aparece algo parecido com isso:
ID: 1 NOME: JOHN MARQUES IDADE:22
*/
echo "ID: " . $row['id'] . " NOME: " . $row['nome'] . " IDADE: " . $row['idade'] . "<br />";
}</pre>
<pre>// faz o loop, e retorna o resultado com índice NÚMERICO
while($row = mysql_fetch_array($query,MYSQL_NUM))
{
/*
irá retornar todos os registros da tabela,
sendo que cada linha pode aparece algo parecido com isso:
ID: 1 NOME: JOHN MARQUES IDADE:22
*/
echo "ID: " . $row[0] . " NOME: " . $row[1] . " IDADE: " . $row[2] . "<br />";
}</pre>
</pre>
// Libera a memória
mysql_free_result($query);
?>
mysql_free_result
Libera a memória do resultado de uma query. Somente precisa ser chamado se você esta preocupado em quanta memória esta sendo usada para query num grande conjunto de resultados. Toda a memória usada do resultado é liberada automaticamente ao final da execução do script.
Ex.:
<?php
// Faz conexão com o MySQL
if(!$conn = mysql_connect("nome_do_servidor","usuario","senha"))
{
die("Não foi possível realizar a conexão.<br />Erro: " . mysql_error());
}
// Seleciona o banco de dados
if(!mysql_select_db("banco_de_dados",$conn))
{
die("Não foi possível selecionar o banco.<br />Erro: " . mysql_error());
}
// Executa a SQL
if(!$query = mysql_query("SELECT * FROM nome_tabela",$conn))
{
die("Não foi possível executar a SQL.<br />Erro: " . mysql_error());
}
// Libera a memória
mysql_free_result($query);
?>
mysql_close
Fecha a conexão com o MySQL
Ex.:
<?php
// Faz conexão com o MySQL
if(!$conn = mysql_connect("nome_do_servidor","usuario","senha"))
{
die("Não foi possível realizar a conexão.<br />Erro: " . mysql_error());
}
// Seleciona o banco de dados
if(!mysql_select_db("banco_de_dados",$conn))
{
die("Não foi possível selecionar o banco.<br />Erro: " . mysql_error());
}
// Executa a SQL
if(!$query = mysql_query("SELECT * FROM nome_tabela",$conn))
{
die("Não foi possível executar a SQL.<br />Erro: " . mysql_error());
}
// Libera a memória
mysql_free_result($query);
// Fecha a conexão com o MySQL
mysql_close($conn);
?>
Bom eu acho que é isso, espero que sirva para alguém que esteja iniciando com a programação em PHP.
Abraços,
John Marques
2 Comentários to “Funções MySQL”
Responda







Olá John! Muito bom o artigo! A tempos eu acompanho seus artigos e este me ajudou a compreender alguns “detalhes” que me ajudaram muito…
Então muito obrigada!
Valeu Rubia, obrigado pelo reconhecimento, tem alguns dias que não posto artigos, por que ando meio enrolado sabe como é programador rs, mas logo logo postarei ;D