【发布时间】:2012-04-13 17:11:01
【问题描述】:
如何识别 php PDO mysql 驱动程序的执行错误导致的提取错误或空结果?
$sql = ' SELECT * ';
$sql .= ' FROM test ';
$sql .= ' WHERE id = 432 ';
$statement = $this->_db->prepare($sql);
$status = $statement->execute();
var_dump($status);
$result = $statement->fetch(\PDO::FETCH_ASSOC);
var_dump($result);
output:
bool(true)
bool(false)
所以,我用 pdo 准备语句,然后执行 sql,因为没有错误,所以状态为 true。然后我获取结果,在这种特定情况下,不存在 id = 432 的行。所以 fetch 方法返回 false。我的问题是 fetch 方法在出现错误时也会返回 false!。
如何确定 fetch "false" 结果是错误还是空结果?
【问题讨论】: