這是令人尷尬的,但我試圖獲得相同的腳本來運行,我以前有錯誤。我已經完成了這個錯誤消息的搜索,但不知道我需要做些什麼來修復這個特定的腳本。在PHP中的錯誤消息:「警告:mysqli_num_rows()期望參數1是mysqli_result,布爾值...」
完整的錯誤信息是:
警告:mysqli_num_rows()預計參數1被mysqli_result,在C定的boolean:\ Program Files文件\深淵Web服務器\ htdocs中\ login_tools.php上線59
腳本的這部分似乎被列爲警告的來源。
如果(mysqli_num_rows($ R)== 1)
較大的一節:
if (empty($errors))
{
$q = "SELECT user_id, first_name, last_name,
FROM users
WHERE email = '$e'
AND pass = SHA1('$p') " ;
$r = mysqli_query ($dbc , $q) ;
if (mysqli_num_rows($r) == 1)
{
$row = mysqli_fetch_array ($r , MYSQLI_ASSOC) ;
return array(true , $row) ;
}
else
{ $errors[] = 'Email address and password not found.' ; }
}
return array(false , $errors) ; }
?>
請切換到[已準備好的語句](http://bobby-tables.com/php.html)以防止SQL注入。順便說一句,只使用普通的SHA1來散列密碼是不夠的;請參閱http://php.net/manual/en/faq.passwords.php。 –