0
I am making a login system in PHP and resulted in a fatal error:
Fatal error: Call to a Member Function num_rows() on a non-object in C: xampp htdocs avulso-2 valida-usuario.php on line 10
<?php
$conecta = new mysqli("localhost", "root", "", "avulso");
$login = $conecta->real_escape_string($_POST['login']);
$senha = $conecta->real_escape_string($_POST['senha']);
$sql_usuario = "SELECT id, nome, login, senha FROM usuario WHERE login = " .$login. " AND senha = " .$senha. "LIMIT 1";
$query_usuario = $conecta->query($sql_usuario);
if($query_usuario->num_rows() != 1){ /* Nesta linha que ocorreu o erro: "Fatal error: Call to a member function num_rows() on a non-object in
C:\xampp\htdocs\avulso-2\valida-usuario.php on line 10" */
echo "Login inválido ou inexistente!";
}
else{
$rs_usuario = $query_usuario->fetch_assoc();
if(!isset($_SESSION)){
session_star();
$_SESSION['id'] = $rs_usuario['id'];
$_SESSION['nome'] = $rs_usuario['nome'];
header("Location: index.php"); exit;
}
}
?>
Your query failed, in text type values you need them to be in single quotes. you can do a test, of an echo in your sql and test in the database and see the error returned.
– rray
$sql_usuario = "SELECT id, name, login, password FROM user WHERE login = '$login' AND password = '$password' LIMIT 1"; So, Rray?
– Luana Santos
Yes, from an echo in
$sql_usuario
and run the query on the bank(can be phpmyadmin or other) see which error appears.– rray