2015-05-10 27 views
0

所以我想獲取只有活動= 1的行,但由於某種原因,它給了我這個錯誤。Mysqli WHERE給出了一個布爾錯誤

Call to a member function fetch_object() on boolean

$db2 = new mysqli('localhost', 'root', '', '123'); 
$imagesQuery = $db2->query(" 
SELECT 
images.id, 
images.caption, 
images.active, 
COUNT(images_likes.id) AS likes 

FROM images WHERE active = 1 

LEFT JOIN images_likes 
ON images.id = images_likes.image 

GROUP BY images.id 
"); 

while($row = $imagesQuery->fetch_object()) { 
    $images[] = $row; 
} 
echo '<pre style="color: #fff">', print_r($images, true) , '</pre>'; 
+1

'的mysqli :: query'將在返回的情況下返回FALSE(布爾值)有與查詢錯誤。考慮在查詢之後加上'printf(「錯誤:%s \ n」,$ db2-> error);'。 http://php.net/manual/en/mysqli.query.php#refsect1-mysqli.query-returnvalues –

+0

但是我做了什麼錯呢?我怎樣才能避免這個錯誤? – Pipo

+0

您需要在查詢函數下面編寫'printf(「錯誤:%s \ n」,$ db2-> error);'以查明錯誤是什麼。 –

回答

0
SELECT 
images.id, 
images.caption, 
images.active, 
COUNT(images_likes.id) AS likes 

FROM images 

LEFT JOIN images_likes 
ON images.id = images_likes.image 
WHERE active = 1 
GROUP BY images.id 
+0

不,我已經嘗試過,但它不工作:/ – Pipo