我有mysql_num_rows問題。當我嘗試登錄時,會發生以下警告:mysql_num_rows()導致了警告
警告:mysql_num_rows()期望參數1是資源,對象在路徑/到/ userClass.php行#no中給出。
我搜索了這個錯誤,並得到了,那是因爲錯誤的SQL查詢造成的。但我不確定這一點。請幫忙。
Userclass.php登錄功能
$sql = "SELECT id, username FROM `user` WHERE username = '$username' AND hashed_password ='$password'";
$result = mysqli_query($this->con, $sql);
if (!$result) die ("Database query failed" . mysql_error());
else{
$count = mysql_num_rows($result);
if($count == 1){
$found_user = mysql_fetch_array($result);
$_SESSION['user_id'] = $found_user['id'];
$_SESSION['username'] = $found_user['username'];
header("Location:{$location}");
}else{
//username/password combo was not found in the database
$this->pass_notverified = "Username/password incorrect.";
return;
}
}
的header.php
<?php require_once 'class/userClass.php';?>
<?php $obj = new userClass;?>
<?php
if(isset($_POST['login'])){
$obj->login($_POST,"home.php");
}?>
的組合則完整的代碼做同樣的...你cannt混合的mysqli和mysql – alwaysLearn 2013-03-23 13:38:21
您注射'$之前不要使用'mysqli_real_escape_string'用戶名和密碼'到你的查詢,不是嗎?或者,更好的是,使用參數化查詢。 – 2013-03-23 13:41:08
'mysql _ *()'API已被棄用。改用MySQLi或PDO_MySQL擴展。 [已過時mysql_ *()](http://php.net/manual/en/function.mysql-connect.php) – SparKot 2013-03-23 14:16:28