Ir para conteúdo

  • Entrar usando o Facebook Entrar usando o Twitter Entrar usando o Windows Live Login com Steam Login com Google      Entrar   
  • Cadastre-se

Ícone Classificados

Adicionar um Anúncio

Redes Sociais

Atualizações recentes de status

Visualizar Todas Atualizações

Foto
- - - - -

Erro no mysql_num_rows ...


  • Por favor, faça o login para responder
5 respostas neste tópico

#1 Abma12

Abma12
  • Membros Juniores
  • 11 posts
  • Membro desde 31/01/2012
0
Neutra
  • Natal ,RN

Postado 08 de abril de 2012 - 10h59min

Bem pessoal estava eu criando um sistema de login com session em php + mysql ...
Porém certa parte do php precisa do mysql_num_Rows (para verifica os usuarios no db e criar a session ... )
<?php
	include "config.php";
$login = $_POST['login'];
$senha = $_POST['senha'];

$sqlc = "SELECT * FROM USERS WHERE Users = '$login' AND Senha ='$senha'";
$sqla = mysql_query($sqlc);	

	if(mysql_num_rows($sqla) == 1 ) {
	
	$_SESSION['loginSession'] = $login ;
	$_SESSION['senhaSession'] = $senha ;

include "Home.php";
		
	}else{

include "Login.php";
		
		
	}

Quando vou testar logando ele me devolve esse erro :
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\log.php on line 17 :angry:


#2 mjisoton

mjisoton
  • Membros Plenos
  • 373 posts
  • Membro desde 06/07/2011
49
Excelente
  • Flores da Cunha/RS

Postado 08 de abril de 2012 - 12h45min

O problema não é exatamente em mysql_num_rows. Tal função deve receber um recurso SQL como parâmetro, mas a consulta SQL não está retornando o recurso. Está retornando um booleano (FALSE).

Tenha certeza de que a consulta feita tem uma sintaxe válida.
Ah, e sempre escape as variáveis na string. Exemplo:
$sqlc = "SELECT * FROM users WHERE users = '". $login. "' AND senha = '". $senha ."'";

Editado por WntD, 08 de abril de 2012 - 12h51min.

@mjisoton
myAnimelist


#3 Abma12

Abma12
  • Membros Juniores
  • 11 posts
  • Membro desde 31/01/2012
0
Neutra
  • Natal ,RN

Postado 08 de abril de 2012 - 14h46min

O problema não é exatamente em mysql_num_rows. Tal função deve receber um recurso SQL como parâmetro, mas a consulta SQL não está retornando o recurso. Está retornando um booleano (FALSE).

Tenha certeza de que a consulta feita tem uma sintaxe válida.
Ah, e sempre escape as variáveis na string. Exemplo:

$sqlc = "SELECT * FROM users WHERE users = '". $login. "' AND senha = '". $senha ."'";


WntD, eu não sou muito experiente em php+mysql ...
Queria saber se consigo corrigir meu problema substituindo a variavel $sqlc pela a variavel que você postou ...


#4 mjisoton

mjisoton
  • Membros Plenos
  • 373 posts
  • Membro desde 06/07/2011
49
Excelente
  • Flores da Cunha/RS

Postado 08 de abril de 2012 - 15h56min

Como eu não conheço a tabela 'users' que você está usando no banco de dados, não tem como eu saber se substituindo a variável, irá funcionar.
Confira os nomes das colunas, o nome da tabela, e principalmente, confira se o arquivo 'config.php' estabelece uma conexão com o banco de dados MySQL. Não adianta tentar executar uma query se você sequer esta´conectado ao banco de dados. Nesses casos, mysql_query retorna um booleano FALSE também.

@mjisoton
myAnimelist


#5 Abma12

Abma12
  • Membros Juniores
  • 11 posts
  • Membro desde 31/01/2012
0
Neutra
  • Natal ,RN

Postado 08 de abril de 2012 - 17h29min

Como eu não conheço a tabela 'users' que você está usando no banco de dados, não tem como eu saber se substituindo a variável, irá funcionar.
Confira os nomes das colunas, o nome da tabela, e principalmente, confira se o arquivo 'config.php' estabelece uma conexão com o banco de dados MySQL. Não adianta tentar executar uma query se você sequer esta´conectado ao banco de dados. Nesses casos, mysql_query retorna um booleano FALSE também.


o config.php funciona sim, pois até uso ele na página de cadastro que funciona super bem !

O nome da tabela é USERS (na página de cadastro gravo os usuarios aqui e sempre com sucesso)
e as colonas ...


ID (Primária, AI ) Nome (VARCHAR 255) Email (VARCHAR 255) User (VARCHAR 255) e Senha (VARCHAR 255) ...


#6 mjisoton

mjisoton
  • Membros Plenos
  • 373 posts
  • Membro desde 06/07/2011
49
Excelente
  • Flores da Cunha/RS

Postado 08 de abril de 2012 - 19h47min

Então aparentemente o erro está na cláusula 'where'.
Se a coluna com o nome do usuario se chama 'user', você não pode colocar na consulta 'users'.

Seria
$sqlc = "SELECT * FROM users WHERE User = '". $login. "' AND Senha = '". $senha ."'";

Dessa maneira deve dar certo.
Não se esqueça de conferir as maiusculas e minusculas.

@mjisoton
myAnimelist





0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos