sql >> Databáze >  >> RDS >> Mysql

PDO::ERRMODE_EXCEPTION nepotlačí varování

Troufnul bych si říct, že je to bug. Našel jsem dva relevantní lístky:

  • Chyba #63812 :Upozornění(a) spouštěče PDO bez ohledu na strategii zpracování chyb, podáno v roce 2012 pro PHP/5.3.19
  • Chyba č. 74401 :Varování spouštěče PDO již nastaveno výjimku vyvolání, podáno v roce 2017 pro PHP/7.0.17

V každém případě jsou stále otevřené a není zcela jasné, zda se jedná o platné problémy (i když mám podezření, že ano). Nezdá se, že by to bylo rozhodnutí o návrhu, protože jiné chyby MySQL nespouštějí obojí, varování i výjimku:

$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. Získat názvy sloupců tabulky v MySQL?

  2. PostgreSQL kontrolní omezení pro podmínku cizího klíče

  3. 3 způsoby, jak získat první den v měsíci na serveru SQL

  4. dotaz není stejný nefunguje