sql >> Database >  >> RDS >> Mysql

PDO::ERRMODE_EXCEPTION onderdrukt waarschuwing niet

Ik zou durven zeggen dat het een bug is. Ik heb twee relevante tickets gevonden:

  • Bug #63812 :PDO activeert waarschuwing(en) ongeacht de foutafhandelingsstrategie, ingediend op 2012 voor PHP/5.3.19
  • Bug #74401 :PDO-triggerwaarschuwing heeft al een worpuitzondering ingesteld, ingediend in 2017 voor PHP/7.0.17

Ze zijn in ieder geval nog steeds open en het is niet helemaal duidelijk of het geldige problemen zijn (hoewel ik vermoed van wel). Het lijkt geen ontwerpbeslissing te zijn omdat andere MySQL-fouten niet beide triggeren, waarschuwing en uitzondering:

$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. PHP PDO Voorbereide instructie bindt NULL-waarde

  2. Hoe het aantal getroffen rijen te krijgen, tijdens het uitvoeren van een MySQL-query vanuit bash?

  3. Voer Oracle Forms zelfstandig uit zonder browser

  4. Een gekoppelde server in SQL Server verwijderen met T-SQL