【问题标题】:How to receive MYSQL warnings (E.g. #1264 Out of Range) from PHP PDO如何从 PHP PDO 接收 MYSQL 警告(例如 #1264 Out of Range)
【发布时间】:2015-05-05 12:04:05
【问题描述】:

当我使用 PHP PDO 时,我注意到我可以将 ERROR MODE 更改为 Exceptions。

但如果我还需要知道 MYSQL 警告怎么办。

例子:

update <table> SET number = 99999999999

numberint(11)

时应该导致 MYSQL 抛出以下警告
Warning: #1264 Out of range value for column 'number' at row 1

为了让我的数据在应用程序和 MYSQL 之间保持一致,我想捕获它

一种可能的解决方法是通过 PHP 验证输入。但这不是我要寻找的。​​p>

提前谢谢你, 奥莱

【问题讨论】:

  • SHOW WARNINGS这可以帮助你
  • @SuchitKumar 正如我已经写过的,我知道错误处理,我不想将其更改为除异常之外的任何其他内容
  • @Vicky 你的评论对我帮助很大——如果你没问题,我会把它添加为答案
  • @OleK 没问题!!你可以在任何地方添加,我赞成你的答案

标签: php mysql pdo error-handling warnings


【解决方案1】:

感谢 Vicky,

可能的解决方案是对“SHOW WARNINGS”进行 MYSQL 查询

例子:

$warnings = $this->PDO->query("SHOW WARNINGS")->fetchObject();
// example output of $warnings OR NULL
// stdClass Object
// (
//        [Level] => Warning
//        [Code] => 1264
//        [Message] => Out of range value for column 'qty' at row 1 
// }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 2016-10-29
    相关资源
    最近更新 更多