Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PDO::ERRMODE_EXCEPTION tidak menekan peringatan

Saya berani mengatakan itu bug. Saya menemukan dua tiket yang relevan:

  • Bug #63812 :PDO Memicu Peringatan Terlepas dari Strategi Penanganan Kesalahan, diajukan pada 2012 untuk PHP/5.3.19
  • Bug #74401 :Peringatan pemicu PDO sudah menetapkan pengecualian lemparan, diajukan pada 2017 untuk PHP/7.0.17

Bagaimanapun, mereka masih terbuka dan tidak sepenuhnya jelas apakah itu masalah yang valid (meskipun saya curiga itu). Tampaknya ini bukan keputusan desain karena kesalahan MySQL lainnya tidak memicu keduanya, peringatan dan pengecualian:

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kelompokkan keluaran SHOW COLUMNS ke dalam daftar yang dipisahkan koma

  2. Kesalahan sintaks SQL dekat desc

  3. Bagaimana cara memperbaiki kesalahan 'Nilai di luar rentang yang disesuaikan untuk kolom'?

  4. SQL bersarang urutan oleh?

  5. Instal Apache, MySQL 8 atau MariaDB 10 dan PHP 7 di CentOS 7