Jump to content


Photo

Problemas Com O Mysql_Fetch_Array


  • Faça o login para participar
4 replies to this topic

#1 João Guimarães

João Guimarães

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Localidade:São Carlos

Posted 01/08/2010, 00:21

O seguinte código:

<?php
include "conexao.php";

$nome  = $_POST['login'];
$senha = $_POST['senha'];

$acesso = mysql_query("SELECT login, senha, nivel_de_usuario FROM users WHERE login == $nome AND senha == $senha");
$cnt = @mysql_num_rows($acesso);

while ($linha = @mysql_fetch_array($acesso)) {
	$login = $linha["login"];
	$senha = $linha["senha"];
	$nivel_de_usuario = $linha['nivel_de_usuario'];

echo $nivel_de_usuario; }
?>

está com um problema: eu não consigo acessar as informações do banco de dados. Aparece o seguinte erro:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP5.3.0\www\login\acesso.php on line 10

Eu simplesmente queria comparar usuário e senha digitados pelo usuário com os existentes no Banco de Dados.
Desde já agradeço.

#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 02/08/2010, 15:53

Não utilize esses '@' na frente do instrução php.
Ela vai ocultar os erros e você não saberá o que está acontecendo.

Retira e diga se irá ocorrer ou erro diferente deste...
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 Dii

Dii

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 06/08/2010, 23:31

Simples e direto.
Como é uma função MySQL, não necessita do uso do @.
Eu não entendi o porquê de tu usar o @, mas enfim, basta retirá-lo que irá funcionar corretamente.
Abraços. Espero ter ajudado.

#4 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 10/08/2010, 10:33

Ola,

Não sei se ainda necessitas de ajuda, mas vamos ao que interessa.

O @ apenas não mostra os erros, não interfere na execução, altere a query para:

<?php $acesso = mysql_query("SELECT login, senha, nivel_de_usuario FROM users WHERE login = $nome AND senha = $senha"); ?>
Pois a igualdade no MySQL é apenas "=" e não "==", também é valido verificar se os campos que estão sendo utilizados tem um valor "aceitável" para o MYSQL.

Acho que era isso.
[]'s
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#5 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 10/08/2010, 11:22

Só mais uma correção:

<?php 

    $acesso = mysql_query("SELECT login, senha, nivel_de_usuario FROM users WHERE login = '$nome' AND senha = '$senha'"); 

?>

Como você vai comparar strings no mysql elas devem estar entre aspas...

Como você está usando aspas duplas para a string de consulta ... então você utiliza aspas simples para colocar nas strings.

(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq