我在第26行有一个问题,它说:致命错误:在C:'OpenServer'domains'bashlam.com'models'Product.php的非对象上调用成员函数fetch()我找不到问题,我在($result)上做了var_dump是说bool(false),所以不明白我做错了什么?
public static function getLatestProducts($count = self::SHOW_BY_DEFAULT, $page = 1)
{
$count = intval($count);
$db = Db::getConnection();
$productList = array();
$result = $db->query("SELECT id, name, price, image, is_new FROM product "
. "WHERE status = '1' "
. "ORDER BY id DESC "
. "LIMIT " . $count);
var_dump($result);
$i = 0;
while($row = $result->fetch()){
$productList[$i]['id'] = $row['id'];
$productList[$i]['name'] = $row['name'];
$productList[$i]['image'] = $row['image'];
$productList[$i]['price'] = $row['price'];
$productList[$i]['is_new'] = $row['is_new'];
$i++;
}
return $productList;
}
根据PDO::query的文档说:
PDO::query()返回一个PDOStatement对象,如果失败则返回FALSE。
你的SQL查询出错了,所以要确保它是正确的
您在查询中出现错误,因此"$db->query()"返回null或false。你可以打印你的查询并在mysql控制台中调试它。
Statut可能是整型,所以只要去掉' '