jer*_*oen 3 php mysql pdo try-catch
我使用PDO遇到了一个问题,因为没有发现错误.
代码很简单,工作得很好,我只需要包含一个样本以避免混淆:
$sql = 'INSERT INTO somedatetable (something)
VALUES (:something)
ON DUPLICATE KEY UPDATE something=:something';
$values = array(":something" => $something);
try {
$stmt = $dbh->prepare($sql);
$stmt->execute($values);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage() . "<br />\n";
}
Run Code Online (Sandbox Code Playgroud)
代码工作正常,但是当处理新模块时,我遇到了一个问题,即没有添加或修改记录,也没有发现错误.
$stmt返回,false但我没有线索为什么或如何找到错误.
解决方案最后很简单,我使用的是一个对表没有写权限的有限MySQL用户.使用mysql时,这些错误总会立即显示,但是使用PDO我不知道如何找到它们.
如何让PHP/PDO显示或捕获这些类型的数据库错误?
PDO::errorInfo() 要么 PDOStatement->errorInfo()
至于例外,请检查PDO中"错误和错误处理"的文档.默认情况下不会抛出异常,这就是您可能希望启用它们的原因.
另见:
| 归档时间: |
|
| 查看次数: |
10544 次 |
| 最近记录: |