2014-02-14 110 views

回答

2

你想獲取結果通過

$result = $stmt->execute(); 

這是情況並非如此。因爲execute將只返回一個布爾值。

這樣做。

$stmt = $db->prepare("SELECT category_id FROM post_items Where user_id = ?"); 
$stmt->bind_param('i', $userid); 
$stmt->execute(); 
$result = $stmt->get_result(); 
while ($row = $result->fetch_assoc()) { 
     //result is in row 
} 
+0

就像一個魅力THX的工作!所以我的錯誤是假設execute()返回結果的權利?所以我需要使用get_result()。 get_result()與query()相同嗎? – user3277912

+0

沒有其替代綁定結果步驟。否則,你應該做一個'bind_result'我猜。 – mithunsatheesh

+0

什麼是get_result()呢?我得到了相同的結果由$ result = $ db-> query($ query)返回。爲什麼? – user3277912

0

替換此:

$result = $stmt->execute(); 
    while ($row = $result->fetch_array()) { 

$stmt->bind_result($category_id); 

    while($stmt->fetch()){ 
     $myArray=$category_id; 
    } 
+0

但mithunsatheesh方法正在工作,請解釋更多? – user3277912

+0

這兩種方式都是正確的,我的方式是將stmt的結果綁定到變量,然後獲取stmt並使用綁定的變量。 – CodeBird