我加入以下行:mysqli_num_rows()預計參數1被mysqli_result,串給出錯誤
$userquery = mysqli_real_escape_string ($db, $userquery);
之前我說這是工作的代碼,現在我得到以下2個錯誤:
mysqli_real_escape_string() expects parameter 2 to be string, object given
和
mysqli_num_rows() expects parameter 1 to be mysqli_result, null given
代碼
$userquery = mysqli_query($db, "SELECT * FROM staff WHERE forename = '$forename'") or die ("error getting information from database.");
$userquery = mysqli_real_escape_string ($db, $userquery);
if (mysqli_num_rows($userquery) == null){
die ("No staff directory found");
}
誰能告訴我爲什麼我得到這些錯誤,我能做些什麼來解決這些問題?
我明白第一個錯誤是因爲$ userquery被使用了兩次,但是如果我不使用它兩次,我該如何使用mysqli_real_escape_string擴展名?
我試圖改變它擺脫了錯誤的第一$ userquery的變量名,但隨後出現新的錯誤:
mysqli_real_escape_string() expects parameter 2 to be string, object given
你正在重寫'$ userquery',其中包含你的查詢結果。你需要將'mysqli_real_escape_string()'移到'mysqli_query()'上面。 – Henders
我也試過,但後來我有錯誤:未定義的變量:userquery –
在mysqli_real_escape_string()這裏閱讀(http://php.net/manual/en/mysqli)可能很有用。實時逃生string.php)。 您需要先通過該函數放置查詢字符串,然後將乾淨的字符串放入查詢中。 – Henders