Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro com banco de dados


Marph

Pergunta

Pessoal estou tendo muitos problemas para testar sistemas feitos em php com mysql em meu computador. Eu uso o wamp q está funcionado corretamente mas sempre que testo um script da erro.

Segue abaixo o meu codigo:

conecta.php

<?php

/*$conexao = mysql_connect('localhost','roor','') or die ('Não foi possivel conectar');
$db = mysql_select_db('loja', $conexao) or die ('Não foi possivel conectar a base de dados');
*/

$banco = "loja";
$usuario = "root";
$senha = "";
$hostname = "localhost";
$conn = mysql_connect($hostname,$usuario,$senha); mysql_select_db($banco) or die( "Não foi possível conectar ao banco MySQL");
if (!$conn) {echo "Não foi possível conectar ao banco MySQL.
"; exit;}
else {echo "Parabéns!! A conexão ao banco de dados ocorreu normalmente!.
";}
mysql_close();

?>

index.php

<?php include('conecta.php'); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Loja</title>
</head>

<body>
<?php



?>

<form id="form1" name="form1" method="post" action="">
  <table width="670" border="0">
    <tr>
      <td width="16" align="center" valign="middle">&nbsp;</td>
      <td width="64" align="center" valign="middle">&nbsp;</td>
      <td width="47" align="center" valign="middle">&nbsp;</td>
      <td width="89" align="center" valign="middle">&nbsp;</td>
      <td width="51" align="center" valign="middle">&nbsp;</td>
      <td width="102" align="center" valign="middle">Buscar</td>
      <td width="144" align="center" valign="middle"><label for="buscar"></label>
      <input type="text" name="buscar" id="buscar" /></td>
      <td width="123" align="center" valign="middle"><input type="submit" name="btbsucar" id="btbsucar" value="Buscar" /></td>
    </tr>
    <tr>
      <td colspan="8" align="center" valign="middle">LISTA DE PRODUTOS</td>
    </tr>
    <tr>
      <td align="center" valign="middle" bgcolor="#CCCCCC">ID</td>
      <td align="center" valign="middle" bgcolor="#CCCCCC">IMAGEM</td>
      <td align="center" valign="middle" bgcolor="#CCCCCC">NOME</td>
      <td align="center" valign="middle" bgcolor="#CCCCCC">DESCRIÇÃO</td>
      <td align="center" valign="middle" bgcolor="#CCCCCC">PREÇO</td>
      <td align="center" valign="middle" bgcolor="#CCCCCC">QUANTIDADE</td>
      <td align="center" valign="middle" bgcolor="#CCCCCC">DATA</td>
      <td align="center" valign="middle" bgcolor="#CCCCCC">ADICIONAR</td>
    </tr>
    
    <?php
    
    $consulta = mysql_query("SELECT * FROM produtos");
    while($linha = mysql_fetch_array($consulta)){
        
        $id = $linha['id'];
        $imagem = $linha['imagem'];
        $nome = $linha['nome'];
        $desc = $linha['descricao'];
        $preco = $linha['preco'];
        $quant = $linha['quantidade'];
        $data = $linha['data'];
        
        }
    
    ?>
    
    <tr>
      <td align="center" valign="middle"><?php echo $id;?></td>
      <td align="center" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
    </tr>
  </table>
</form>
</body>
</html>

erro :

( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Tutorial\index.php on line 47 Call Stack # Time Memory Function Location 1 0.0004 254296 {main}( ) ..\index.php:0 2 0.0053 270264 mysql_fetch_array ( ) ..\index.php:47
( ! ) Notice: Undefined variable: id in C:\wamp\www\Tutorial\index.php on line 62 Call Stack # Time Memory Function Location 1 0.0004 254296 {main}( )

..\index.php:0

alguém sabe me dizer aonde está o erro?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

No arquivo conecta.php você estabelece a conexão com o MySQL certinho, mas logo em seguida você fecha a conexão com mysql_close().

Então o mysql_query() tenta executar a consulta com a ultima conexão mysql aberta, descobre que não existe nenhuma conexão retorna um FALSE para a variável $consulta e ao tentar extrair informações da variável com o mysql_fetch_array() que espera uma variável que contenha um retorno de consulta ao MySQL ele só encontra um FALSE e ai ele escreve o erro:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Tutorial\index.php on line 47 Call Stack # Time Memory Function Location 1 0.0004 254296 {main}( ) ..\index.php:0 2 0.0053 270264 mysql_fetch_array ( ) ..\index.php:47

Perigo: mysql_fetch_array() esperava como parâmetro um recurso(de consulta ao banco de dados), porém recebeu uma variável booleana (FALSE). No arquivo C:\wamp\www\Tutorial\index.php na linha 47 bla bla bla

Enfim tire o mysql_close() do arquivo conecta.php

Editado por Markus Magnus
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...