我的PDO获取列功能出错

XMe*_*Men 2 php oop pdo

我正在使用PDO对象在php中执行查询.

$stmt = $this->db->prepare('select email from users where email = :email');
return (bool) $stmt->execute(array(':email' => $email))->fetchColumn();
Run Code Online (Sandbox Code Playgroud)

我在这里得到错误.

致命错误:在非对象上调用成员函数fetchColumn()

有什么问题请帮忙,$this->db->query()命令正在运行.

谢谢

Mau*_*ycy 6

首先,它拼写为"执行",而非"exectute"

其次,PDOStatement::execute返回一个布尔值,指示查询是否成功.要获取结果,必须在原始语句实例上调用fetch方法.

  • http://php.net/manual/en/pdostatement.execute.php - 执行返回bool.如果要访问结果,则应在新行中键入:`return $ stmt-> fetchColumn()` (2认同)