说真的,errorInfo 是你的朋友。使用它。
如果这些看起来像你的谷歌搜索,那么你需要 errorInfo
"php 中没有显示数据库错误"
"pdo 从数据库中选择但不会插入"
"pdo 插入不起作用"
"pdo 只是个炒作,我应该回到 mysql 吗?"
"外科医生赚多少钱?"
相信我,如果你养成在开发中使用它的习惯,它肯定会为你节省数小时的疯狂。忘记 E-ALL,它让我失败了,因为 E-ALL 显然不知道我在 MySQL 表中没有设置默认值,我的查询没有向其中添加任何内容。所以始终这样做
<?php
$sql = '在 mysql 表上执行一些操作,其中 foo = :bar';
$stmt = prepare($sql);
$stmt->bindValue(':bar', $foo, PDO::PARAM_[数据类型]);
$stmt->execute();
// 在开发过程中非常重要。但在生产中将其关闭
$foo_arr = $stmt->errorInfo();
print_r($foo_arr);
// 示例 print_r 返回
/*
Array(
[0] => HY000
[1] => 1364
[2] => 字段 'phone' 没有默认值
)
我从未如此高兴地看到错误
*/
?>
虽然任何优秀的开发者都会始终注意并尝试捕获错误,但即使是最优秀的开发者也会犯错。这不是异常的替代品,但它的简单性是无价的。