我可以安全地忽略错误代码为00000的MySQL错误HY000 [英] Can I safely ignore MySQL error HY000 with error code 00000

查看:212
本文介绍了我可以安全地忽略错误代码为00000的MySQL错误HY000的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've set up PHP (5.2) with PDO (MySQL 5.1) to throw exceptions when an error occurs:

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

现在,有时会出现一个异常,该异常仅告诉我"HY000:常规错误".我试图从PDO中获取更多信息,但是我只能说:

Now, I get sometimes an exception that only tells me "HY000: General error". I've tried to get more info out of PDO, but all I can say is that:

  • errorInfo():array(0 => 'HY000')
  • errorCode():array(0 => '00000')
  • 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异常似乎是完全错误的.

I've ensured that all cursors are properly closed ($stmt->closeCursor()). The exception is thrown when calling fetchAll() on my statement. After some searching around I found that some are just ignoring this error, but it seems just plain wrong to dismiss a PDO exception.

该怎么办?我是否必须检查一下这是一个INSERT,没有结果集,所以请忽略那些异常"(因为我没有用于INSERT,SELECT,UPDATE等的单独方法.)

What to do? Do I have to check like "It's an INSERT, there is no result set so ignore those exception" (as I don't have separate methods for INSERT, SELECT, UPDATE, ...).

推荐答案

错误代码00000表示成功(或者未找到错误).

error code 00000 means successful (or rather no error found).

这篇关于我可以安全地忽略错误代码为00000的MySQL错误HY000的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆