sql >> Database teknologi >  >> RDS >> Mysql

PDO::ERRMODE_EXCEPTION undertrykker ikke advarsler

Jeg vil vove at sige, at det er en fejl. Jeg fandt to relevante billetter:

  • Bug #63812 :PDO udløser advarsler uanset fejlhåndteringsstrategi, indgivet i 2012 for PHP/5.3.19
  • Bug #74401 :Advarsel om PDO-udløser allerede indstillet throw-undtagelse, indgivet i 2017 for PHP/7.0.17

Under alle omstændigheder er de stadig åbne, og det er ikke helt klart, om de er gyldige problemer (selvom jeg formoder, at de er det). Det ser ikke ud til at være en designbeslutning, fordi andre MySQL-fejl ikke udløser både advarsel og undtagelse:

$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 ORDER BY dato og nuller sidste

  2. php password_verify() hash og pass vil ikke matche

  3. Er det muligt at have en standardparameter for en mysql-lagret procedure?

  4. Hvilken strukturtype bruger jeg til HTML-indhold (MySQL)