当我使用PHP上的mysql预处理语句执行查询时,我收到Call to a member function fetchColumn() on a non-object
错误
$result= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ? AND id_2 = ?");
$result->execute(array($id_1,$id_2))->fetchColumn();
echo count($result);
出现此错误的原因是什么?我写的声明不正确吗?
由于
答案 0 :(得分:1)
PDOStatement::execute返回一个布尔值来检查您的查询是否已正确执行。如果每个方法都返回PDOStatement
对象的引用,则只能链接方法调用。你想这样做
$result= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ? AND id_2 = ?");
$result->execute(array($id_1,$id_2));
echo $result->fetchColumn();