sql >> Databasteknik >  >> RDS >> Mysql

PDO::ERRMODE_EXCEPTION undertrycker inte varning

Jag skulle våga påstå att det är en bugg. Jag hittade två relevanta biljetter:

  • Bug #63812 :PDO utlöser varning(er) oavsett felhanteringsstrategi, inlämnad 2012 för PHP/5.3.19
  • Bug #74401 :Varning för PDO-utlösare har redan angett ett undantag för kast, inlämnad 2017 för PHP/7.0.17

I alla fall är de fortfarande öppna och det är inte helt klart om de är giltiga problem (även om jag misstänker att de är det). Det verkar inte vara ett designbeslut eftersom andra MySQL-fel inte utlöser både varning och undantag:

$connection = new PDO('mysql:host=127.0.0.1;dbname=test', 'test', 'test',
    [PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING]);
$connection->query('SELECT * FROM foo');
$connection = new PDO('mysql:host=127.0.0.1;dbname=test', 'test', 'test',
    [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$connection->query('SELECT * FROM foo');


  1. SQL Server's Equivalent to Sleep():WAITFOR-utlåtandet

  2. snedstreck före varje offertproblem

  3. Behöver vi ange inte null för primärnyckeln? Oracle/SQL

  4. Exekveringssekvens för Group By, Have and Where-klausul i SQL Server?