我可以安全地忽略错误代码为00000的MySQL错误HY000 [英] Can I safely ignore MySQL error HY000 with error code 00000
问题描述
我已经将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屋!