gpt4 book ai didi

php - 不存在的表不会引发错误

转载 作者:行者123 更新时间:2023-11-29 08:02:12 25 4
gpt4 key购买 nike

我一定错过了一些东西,但我对 PDO (MySQL) 有一个非常奇怪的行为。

$req = null;
try {
$sql = 'INSERT INTO inexistant_table (idmember) VALUES(:idmember)';
$req = $db->prepare($sql);
$req->bindParam(':idmembre', $_SESSION['ID']);
$req->execute();
}
catch (PDOException $e) {
echo 'exception';
}

if( !$req ) {
echo 'false';
}
echo 'success';

然后我没有收到任何错误,它只打印“成功”。有什么想法吗?

编辑: $db->e​​rrorCode() 返回 00000。

最佳答案

结果是这样解释的,

未启用异常 - 无“异常”

要启用异常(exception),请按照 Fred -ii- 的评论,谢谢! ;-)

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

(另请参阅 Reference - frequently asked questions about PDO )

正在检查错误的值 - 没有“false”

$req 变量表示准备好的语句对象,而不是执行此类语句的结果。与以下检查结果进行比较。

$result = $req->execute();
// ..
if (!$result) { /* fail! */ }

关于php - 不存在的表不会引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23526055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com