Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, to com um probleminha e preciso de ajuda, creio eu que fiz de algo simples uma tormenta.
Não estou conseguindo retornar o "Select" do meu banco de dados utilizando "mysql_num_rows".
<?php
$username = $_POST['user-name'];
$userpass = $_POST['user-pass'];
require_once ('../includes/configuration.php');
$user = $pdo->prepare("SELECT usuario, senha FROM administrador where usuario = '$username' and senha = '$userpass';");
if (mysql_num_rows($user) != 0) {
echo "logado!";
}
else {
echo "error!";
};
?>
Esse é meu codigo e o erro é este:
mysql_num_rows() expects parameter 1 to be resource, object given
mysql_num_rows() expects parameter 1 to be resource, object given
Quem puder me dar uma luz, agradeço!!
Expilquei como resolver isso neste link
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/
No final do seu sql contem erro. O ponto e virgula dentro do parenteses. Apague o ponto e virgula dentro do parentese.
No seu codigo está assim:
$user = $pdo->prepare("SELECT usuario, senha FROM administrador where usuario = '$username' and senha = '$userpass';");
Troque por:
$user = $pdo->prepare("SELECT usuario, senha FROM administrador where usuario = '$username' and senha = '$userpass'");Deveria trocar isto
$user = $pdo->prepare("SELECT usuario, senha FROM administrador where usuario = '$username' and senha = '$userpass';");
Por isto
$user = $pdo->query("SELECT usuario, senha FROM administrador where usuario = '$username' and senha = '$userpass';");
e pra contar linhas, pode fazer assim
$cont = $user->rowCount($user);
:)
Pra ficar melhor, faça assim:
$user = $pdo->prepare("SELECT usuario, senha FROM administrador where usuario = :username and senha = :userpass;");
$user->bindParam(':username',$username);
$user->bindParam(':userpass',$userpass);
$user->execute();
$cont = $user->rowCount($user);
if($cont>0){
//logouu
}
esle{
//fail
}
Isso significa que o MySQL falhou em dar sentido a sua consulta . Veja mysql_query para ver por que ele iria retornar um boolean em vez de um recurso, e use mysql_error para ver o que o MySQL tem um problema com a sua consulta.