Segunda-feira, 09 de julho de 2001 às 01h59

Conectando o PHP ao Banco de Dados MySQL

Fala galera,

Nesse artigo vou mostrar como se faz para se conectar ao banco de dados MySQL. Serão criados 2 arquivos, onde um será responsável pela conexão e o outro pela execução dos comandos SQL no banco. Vamos lá:

Arquivo: mysqlconecta.php

<?
/* Este arquivo conecta um banco de dados MySQL - Servidor = localhost
$dbname="teste"; // Indique o nome do banco de dados que será aberto
$usuario=" "; // Indique o nome do usuário que tem acesso
$password=" "; // Indique a senha do usuário
//1º passo - Conecta ao servidor MySQL
if(!($id = mysql_connect("localhost",$usuario,$password))) {
   echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
   exit;
}
//2º passo - Seleciona o Banco de Dados
if(!($con=mysql_select_db($dbname,$id))) {
   echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
   exit;
}
?>


Arquivo: mysqlexecuta.php

<?php
/*
Esta função executa um comando SQL no banco de dados MySQL
$id - Ponteiro da Conexão
$sql - Cláusula SQL a executar
$erro - Especifica se a função exibe ou não(0=não, 1=sim)
$res - Resposta
*/

function mysqlexecuta($id,$sql,$erro = 1) {
    if(empty($sql) OR !($id))
       return 0; //Erro na conexão ou no comando SQL   
   if (!($res = @mysql_query($sql,$id))) {
      if($erro)
        echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador.";
      exit;
   }
    return $res;
 }
?>


Abaixo segue um exemplo de uma página PHP, usando esses dois arquivos, onde vou imprimir na tela os dados dos clientes cadastrados.

Atenção: Para que dê certo esse arquivo, suponha-se que você já tenha criado a tabela (tb_clientes) e "populado" ela com dados.

Arquivo: primeiro.php

<html>
<body>

<?
    include "mysqlconecta.php"; // Conecta ao banco de dados
    include "mysqlexecuta.php"; // Executa a cláusula SQL

    //Executa a consulta
    $sql = "SELECT * FROM tb_clientes";
    $res = mysqlexecuta($id,$sql);
?>

<table width=100% cellpading=0 cellspacing=0>

<?
   //Exibe as linhas encontradas na consulta
   while ($row = mysql_fetch_array($res)) {
?>
  <tr>
     <td><?echo $row['codigo'];?></td>
     <td><?echo $row['nome'];?></td>
     <td><?echo $row['endereco'];?></td>
     <td><?echo $row['cidade'];?></td>
     <td><?echo $row['estado'];?></td>
  </tr>

<?
 }
?>
</table>

</body>
</html>


Semana que vem tem mais, não deixe de nos enviar suas dúvidas.

Até mais

22 comentários

 Davi Padovan Mognon
30/07/2004 15h59

Uma Ajudinha por favor...

até agora eu segui tudo ao pé da letra, porem ta dando um erro (Fatal error: Call to unsupported or undefined function mysql_connect() in mysqlconecta.php on line 7), este no caso, ele diz que a tal função nao é suportada, ou entao esta indefinida, vc poderia me dar um help, do que poderia estar acontecendo? Abraços e Obrigado.

 Samuel Zampiele
03/09/2004 03h09

Não funciona

Arquivo: mysqlexecuta.php da o seguinte erro na execução:

Parse error: parse error, unexpected T_VARIABLE in C:\Xitami\webpages\php\mysqlexecuta.php on line 3

 Fillpe
03/11/2004 03h53

Excellente

Muito bom esse artigo, consegui fazer tudo direitinho, esta funcionando perfeitamente.

 Alexandre de Araujo
16/11/2004 14h08

bd

fiz exatametne os passos da matérias, mas não consegui sucesso. Deu a mensagem: Fatal error: Call to undefined function mysql_connect() in D:\LIXO\bd\mysqlconecta.php on line 7. A única coisa que fiz diferente foi o banco de dados, já tinha uma tabela e a aproveitei, substitui os campos necessários.

 eugenio
10/02/2005 18h42

conecta php x mysql

de onde vem a variável $id,

 Marcelo Garcia
03/04/2005 16h39

Conectando o PHP ao Banco de Dados MySQL

Estão instaladas as mais recentes versões do MySQL (4.1.10a) e PHP(4.3.10). Mas mesmo assim não consigo uma conexão entre eles. Utilizei seus scripts e mesmo assim não funcionou. Retornando a seguinte menssagem:
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Documents and Settings\Marcelo\Meus documentos\Web\php\teste\mysqlconecta.php on line 7
Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.
Preciso de sua ajuda!

 Adalberto Aparecido da Silva
03/04/2005 20h28

Duvida

Gostaria de saber tambem de onde vem a var $id

 João Gabriel
05/04/2005 18h28

Problemas no MySQL

Muito legal o artigo, mas estou com um problema:

Ao acessar o Primeiro.php, dá a seguinte mensagem:

"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/compucad/public_html/loja_virtual/primeiro.php on line 17"

A versão do meu MySQL é 4.0.23.

Quem puder ajudar, agradeço.

 Claudio Queiroz
06/04/2005 18h49

Falha no script???

Olá Julio, fiz o teste com o script publicado na coluna. Exatamente como vc orienta... mas encontrei os seguintes erros quando chamo o arquivo PRIMEIRO.PHP:

1 - Parse error: parse error, unexpected '=' in c:\arquivos de programas\easyphp\www\mysqlexecuta.php on line 18

2 - Fatal error: Call to undefined function: mysqlexecuta() in c:\arquivos de programas\easyphp\www\listagem.php on line 14

 Marco Túlio G. Moura
27/06/2005 10h36

Dúvidas!

Quando dá este tipo de erro o que pode ser??
-----------------------------------------------------
warning:mysql_fetch_array():suplied argument is not a valid MySQL result resource in c:\arquivos de programas\apache group\htdocs\toalha.php
-----------------------------------------------------
Como faço para fazer backup das tabelas do MySQL??

 ORLANDO DE SOUZA
07/01/2006 15h30

php

Fis tudo direito e da o seguinte erro:
Warning: mysql_connect(): Client does not support authentication
protocol requested by server; consider upgrading MySQL client in
D:\Apache\Apache2\htdocs\mysqliconecta.php on line 9
Não foi possível estabelecer conexão. O que eu estou fazendo de errado?

 Marcelo Garcia
21/02/2006 11h03

Legals...

Gente desculpe, estou sendo iniciado no PHP/Mysql espero contar com a ajuda de vocês e Júlio César Martini parabens pelas matérias.

 thiago
14/03/2006 20h49

mesma coisa

consider upgrading MySQL client in D:\Apache\Apache2\htdocs\mysqliconecta.php on line 9 Não foi possível estabelecer conexão. O que eu estou fazendo de errado?

 Luís G. F. Ferrari
21/03/2006 11h38

hummm

ow ORLANDO, e axo que o apache assim como o php, devem ser instalados no c:
flw

 jakson veras
16/11/2007 18h43

um toque

Um dos erro que encontrei neste codigo foi no mysqlexecuta acho que ele esqueçeu uma aspa no final if (!($res = @mysql_query($sql,$id))) {

 jakson veras
16/11/2007 18h47

uma resalva

O COMENTÁRIO QUE FIZ ACIMA, QUEM TÁ ERRADO SOU ERRO, FOI MAL...

 Ronan Gott Júnior Gott
03/01/2008 09h46

Preciso de ajuda

Olá! Criei um banco de dados em PHP e MySQL e quando tento fazer a conexão dele junto ao servidor ele dá o seguinte erro:
linha 69 = mysql_select_db($database_keops7l, $keops7l);
linha 72 = $keops7l = mysql_query($query_limit_keops7l, $keops7l) or die(mysql_error());

 Ronan Gott Júnior Gott
03/01/2008 09h53

Preciso de ajuda

Agora a informação que está aparecendo da tela é:
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in E:\vhosts\educacao7l.com.br\httpdocs\Relatorio\relatorioinscricao.php on line 72

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in E:\vhosts\educacao7l.com.br\httpdocs\Relatorio\relatorioinscricao.php on line 75

 Ronan Gott Júnior Gott
03/01/2008 09h54

Preciso de ajuda

Se alguem tiver a solução, ficaria agradecido. Obrigado

 Sérgio Amaral
08/03/2008 23h56

PHP + MySQL

Júlio, boa noite!
Estou aprendendo PHP e fiz o que você postou no site, mas não funcionou. Quando clico no arquivo primeiro.php a tela do IE aparece em branco. O que devo está fazendo errado?

Atenciosamente,
Sérgio Amaral

 Lauro Dalpra
28/10/2008 14h35

Erro Conexão PHP+MySQL

Ola sou iniciante me php+mysql! por estar iniciando estou me familiarizando com os 2 entao estou fazendo um cadastro e uma listagem deste cadastro ele esta funcionando nomeu PC mas quando hospedo ele no servidor www.netrevenda.com ele da erro na listagem.

http://www.nrserver4.net/~farmacia/listar.php
//--------------------------------------------------
<?php
$conexao = mysql_connect("localhost","farmacia_root","el");
mysql_select_db("farmacia_amigos", $conexao);
$selecao = mysql_query("SELECT nome FROM cadastro",$conexao);

echo "nome - email<br>";

if ( $myrow = @mysql_fetch_array($selecao) ) {
echo ("Funciono.");
} else {
echo ("Usuário ou senha inválidos.");
}

while($row = mysql_fetch_array($selecao)) {
echo $row["nome"], "<BR>";
}

mysql_free_result($selecao);
mysql_close ($conexao);
?>

 Eliel Deuclides
29/03/2009 17h54

Merda de artigo

Código errado e o autor nem entra em contato com os usuário!

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Júlio César Martini atualmente presta serviços de WebMaster/Programador para o UOL (http://www.uol.com.br), Graduado em Tecnólogo em Informática pela UNIFIAN - Faculdades Anhanguera e Pós-Graduado em Desenvolvimento de Software para Web pela UFSCAR. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e trabalha com PHP desde 2000. Site: http://www.juliocesarmartini.com
InterCon 2009

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.