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

Kemungkinan Kesalahan PDOException (MySQL 5)?

Dokumentasi MySQL adalah referensi lengkap untuk kode kesalahan .

Kode kesalahan mulai dari 1000 adalah kesalahan server . Ini termasuk kesalahan seperti:

  • Kesalahan:1045 SQLSTATE:28000 (ER_ACCESS_DENIED_ERROR )Pesan:Akses ditolak untuk pengguna '%s'@'%s' (menggunakan sandi:%s)

  • Kesalahan:1049 SQLSTATE:42000 (ER_BAD_DB_ERROR )Pesan:Basis data tidak dikenal '%s'

Kode kesalahan mulai tahun 2000 adalah kesalahan klien . Ini termasuk kesalahan seperti:

  • Kesalahan:2005 (CR_UNKNOWN_HOST ) Pesan:Host server MySQL tidak dikenal '%s' (%d)

  • Kesalahan:2003 (CR_CONN_HOST_ERROR ) Pesan:Tidak dapat terhubung ke server MySQL di '%s' (%d)

Saya tidak akan membuat daftar semua kemungkinan kesalahan, karena sudah didokumentasikan, dan saya tidak tahu mana yang perlu Anda tangani. Misalnya, kesalahan 2001 dan 2002 khusus untuk koneksi soket UNIX, yang mungkin tidak relevan dengan platform target Anda.

Jangan lupa untuk menggunakan PDO::errorCode() dan PDO::errorInfo() alih-alih hanya PDOException pesan.

Berikan komentar Anda tentang getCode() -- Tidak, sepertinya tidak didukung dengan cara itu. Saya melakukan tes cepat, ke var_dump() sebuah PDOException . Sayangnya, kodenya sederhana "0" meskipun kode kesalahan dan SQLSTATE disertakan dalam pesan pengecualian.

Pengecualian::getCode() adalah bagian dari Exception dasar kelas, pada PHP versi 5.1.0. Terserah implementasi driver PDO masing-masing untuk memanfaatkan bidang objek ini. Setidaknya untuk driver MySQL, tampaknya tidak.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel Eloquent Abaikan Casing

  2. Penggunaan MySQL JIKA ADA

  3. bagaimana cara mengganti nama skema di MySQL

  4. Bagaimana cara memilih kolom nilai statis?

  5. terjemahan mysql_fetch_array ke PDO::FETCH_NUM