php - 我可以安全地忽略错误代码为 00000 的 MySQL 错误 HY000

标签 php mysql pdo

我已经将 PHP (5.2) 与 PDO (MySQL 5.1) 设置为在发生错误时抛出异常:

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

现在,我有时会收到一个异常,它只告诉我“HY000:一般错误”。我试图从 PDO 中获取更多信息,但我只能说:

  • errorInfo(): array(0 => 'HY000')
  • errorCode(): array(0 => '00000')

失败的查询如下所示:

INSERT INTO user_values
SELECT user_id,
       attribute_id,
       ?,
       value 
  FROM user_values 
 WHERE user_id = ? 
   AND set_id = ?

我已确保所有游标都已正确关闭 ($stmt->closeCursor())。在我的语句中调用 fetchAll() 时抛出异常。经过一番搜索后,我发现有些人只是忽略了这个错误,但忽略 PDO 异常似乎是完全错误的。

要做什么?我是否必须检查“这是一个 INSERT,没有结果集,所以忽略那些异常”(因为我没有用于 INSERT、SELECT、UPDATE 等的单独方法)。

最佳答案

错误代码 00000 表示成功(或者说没有发现错误)。

关于php - 我可以安全地忽略错误代码为 00000 的 MySQL 错误 HY000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044095/

相关文章:

php - 在 codeigniter 中使用 AJAX 从 View 调用 Controller 函数并从数据库中检索行

While 循环中的 PHP 更新

PHP join 是在第一个值之前添加一个逗号

php - AWS - Cloudfront - 如何使用 Origin 自定义 header

php - 使用 MySQL 和 PHP 计算总数而不重复

php - PDOConnection.php 第 24 行中的 FatalThrowableError Laravel 5.3

php - 尝试回应准备好的声明

PHP Ratchet NGINX 失败 WebSocket 连接握手错误响应代码 : 502

php - RETURN TRUE 在 php 函数中做什么?

php - 一次显示两条记录的幻灯片