2011-04-23 82 views
4

這是我第一次使用mysqli。它似乎在尋找mysqli_num_rows()中括號之間的結果集的名稱。但是,當我嘗試$ stmt,$ conn,而沒有,我得到了同樣的錯誤。令人沮喪!最後一行的$ WHAT是什麼?mysqli_num_rows()期望參數1是mysqli_result,對象

或者我正在嘗試錯誤的粘性。我想要做的就是檢查結果是否被返回。我真的不需要行數。我應該做一個錯誤信息的else語句嗎?這是做這件事的最好方法嗎?是否有一個很好的方法來編寫一個函數來連接和接受查詢,它的參數?我爲mysql編寫了一個,但這是完全不同的!我不期待重寫數十個查詢!

$conn = mysqli_connect($host, $user, $pwd, $db,$port=$port_nbr); 

if ($mysqli_connect_errno) { 
    printf("Connect failed: %s\n", 
    mysqli_connect_error()); 
    exit; 
} 
if($stmt=$conn->prepare("SELECT id, name, status, type FROM organization")) { 
    $stmt->execute(); 
    $stmt->bind_result($org_id, $orgname, $orgstatus, $orgtype);  
    $num=mysqli_num_rows($WHAT); 
} 
+0

可能重複[警告:mysql_fetch_ *預計參數1是資源,布爾給定的錯誤(http://stackoverflow.com/questions/11674312/warning-mysql -fetch-expect-parameter-1-to-resource-boolean-given-error) – 2012-07-30 14:55:05

回答

8

當你只想要面向對象的時候,你就結合了面向過程和麪向對象的方法。更改

$num=mysqli_num_rows($WHAT); 

$num = $stmt->num_rows(); 
+0

謝謝!我只是在學習oop並感謝你的建議! :) – dac 2011-04-23 04:00:02

+0

沒問題。只要記住,雖然你可以混合兩者,但選擇一種方法並堅持使用它通常會更好,更麻煩! – shmeeps 2011-04-23 04:08:51

相關問題