我正在使用PDO和OOP。我有这样的代码:
public function selectOne($id) {
$sql = "SELECT * FROM emps WHERE id = ':id'";
$stmt = $this->connect()->prepare($sql);
$stmt->bindValue(":id", $id);
$stmtExec = $stmt->execute();
if ($stmtExec->rowCount() > 0) {
echo "got results";
} else {
echo 'nothing';
}
}
当我尝试运行此操作时,它会给我一个错误:Fatal error: Uncaught Error: Call to a member function rowCount() on boolean
我在哪里做错了。我是Php的新手。谢谢!
答案 0 :(得分:1)
命名占位符:id
周围不需要单引号。
$sql = "SELECT * FROM emps WHERE id = :id";
编辑:
另外,正如@Jon Stirling正确陈述的那样,$stmt->execute()
返回一个布尔值。方法rowCount()
应该在PDOStatement
对象上执行(您的$stmt
变量)。