我不明白这个错误,有人可以请解释给我吗?PHP致命错误PDoCtatement fetchColumn()
PHP Fatal error: Call to a member function fetchColumn() on a non-object in /user/dal.php on line 27
我试图获得最后的查询次数,通过使用正则表达式来执行的最后一个查询的新SELECT COUNT(*)
查询。问题是$stmt->fetchColumn()
导致致命错误,然后我得到Error 500
。
function dbRowsCount($sql) {
global $db;
$regex = '/^SELECT\s+(?:ALL\s+|DISTINCT\s+)?(?:.*?)\s+FROM\s+(.*)$/i';
if (preg_match($regex, $sql, $output) > 0) {
$stmt = $db->query("SELECT COUNT(*) FROM {$output[1]}", PDO::FETCH_NUM);
return $stmt->fetchColumn();
}
return false;
}
我在做什么错?
您的查询失败,返回而不是语句句柄一个布尔值false。在将其运行到查询调用中以查看哪些内容已损坏 – 2012-04-27 16:37:50
可能希望确保'$ db-query()'在调用'$ stmt'中的任何内容之前成功。 – Sampson 2012-04-27 16:37:51