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

Bisakah saya mendeteksi dan menangani Peringatan MySQL dengan PHP?

Agar peringatan "ditandai" ke PHP secara asli akan memerlukan perubahan pada driver mysql/mysqli, yang jelas di luar cakupan pertanyaan ini. Sebagai gantinya, Anda pada dasarnya harus memeriksa setiap kueri yang Anda buat di database untuk peringatan:

$warningCountResult = mysql_query("SELECT @@warning_count");
if ($warningCountResult) {
    $warningCount = mysql_fetch_row($warningCountResult );
    if ($warningCount[0] > 0) {
        //Have warnings
        $warningDetailResult = mysql_query("SHOW WARNINGS");
        if ($warningDetailResult ) {
            while ($warning = mysql_fetch_assoc($warningDetailResult) {
                //Process it
            }
        }
    }//Else no warnings
}

Jelas ini akan menjadi sangat mahal untuk diterapkan secara massal, jadi Anda mungkin perlu memikirkan dengan hati-hati kapan dan bagaimana peringatan dapat muncul (yang dapat membuat Anda melakukan refactor untuk menghilangkannya).

Untuk referensi, PERINGATAN TAMPILKAN MySQL

Tentu saja, Anda dapat mengabaikan kueri awal untuk SELECT @@warning_count , yang akan menghemat kueri Anda per eksekusi, tetapi saya menyertakannya untuk kelengkapan bertele-tele.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengisi tabel zona di database mysql di dalam ubuntu dengan xampp

  2. Bagaimana cara meminta javascript menunggu mysql menetapkan nilai ke variabel php?

  3. MySQL, gabungkan setara untuk nilai kosong?

  4. Pemicu MySQL jika kondisi ada

  5. mysql memindahkan baris antar tabel