2013-12-10 37 views
0

我有下面的代碼來檢查一行是否存在然後做一些事情。但是,我越來越調用非對象上的成員函數fetch_assoc()。 mysql

調用一個成員函數FETCH_ASSOC()

我發現,如果我$check->store_result();之前把$check->get_result();這個錯誤消失,但是當我這樣做,和回聲$check->num_rows;我得到即使我在表格中有一行,也是空的結果。我究竟做錯了什麼?

var_dump($check_result);給我的下面

0bject(mysqli_result)#6 (5) { 
    ["current_field"]=> int(0) 
    ["field_count"]=> int(25) 
    ["lengths"]=> NULL 
    ["num_rows"]=> int(1) 
    ["type"]=> int(0) 
} 

這裏是查詢...

$material = ''; 

$check_added = $mysqli->prepare("select * from table where material = ? order by id desc limit 1"); 
$check_added->bind_param('s', $material); 
$check_added->execute(); 
$check_result = $check_added->get_result(); 
$check_added->store_result(); 
echo $check_added->num_rows; 
if($check_added->num_rows < 1) 
{ 
    //Do something 
} 
else 
{  
    while($checkrow = $check_result->fetch_assoc()){ 
     echo $checkrow['title']; 
    } 
+0

'var_dump($ check_result)' – zerkms

+0

@zerkms更新了問題。 – user3006683

回答

0

$ check_added是,你像處理結果集的mysqli的準備語句對象,有你treid $ check_result-> num_rows?

+0

哦,我必須做'$ check_result-> num_rows;'現在感謝它的工作。 – user3006683

+0

很酷。像這樣的東西一直在發生 – Zarathuztra

相關問題