2013-06-11 50 views
2

我正在對已經正在工作的mysqli查詢執行準備好的語句。我在if(mysqli_num_rows($result) == 0)行遇到問題,因爲它現在是一個字符串而不是mysqli_result。確定是否沒有行從準備好的陳述中返回

if($nameAvailableStmt = mysqli_prepare($link, 'SELECT name FROM usetbl1 WHERE name=? LIMIT 1')) 
{ 
    mysqli_stmt_bind_param($nameAvailableStmt, "s", $_POST['dangerous']); 
    mysqli_stmt_execute($nameAvailableStmt); 
    mysqli_stmt_bind_result($nameAvailableStmt, $result); 
    mysqli_stmt_fetch($nameAvailableStmt); 
} 
if(mysqli_num_rows($result) == 0) 
+0

$結果應該是$ nameAvailableStmt – Fabio

+0

應該BD'mysqli_num_rows($ nameAvaialbleStmt)'。 –

回答

3

它應該是:

mysqli_stmt_store_result($nameAvailableStmt); 
if(mysqli_stmt_num_rows($nameAvailableStmt) == 0) 

Documentation

+0

是的,這意味着。 '$ result'將只包含您正在搜索的名稱。 – Barmar

+0

它仍然給我同樣的錯誤,我會繼續嘗試並清除緩存。 – Celeritas

+0

你有什麼錯誤? – Barmar