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

Pemeriksaan Kesalahan untuk Pernyataan yang Disiapkan PDO

Saya lebih suka mengatur mode kesalahan untuk melempar pengecualian seperti ini:

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

tepat setelah saya terhubung ke database. Jadi setiap masalah akan memunculkan PDOExceptionJadi kode Anda akan menjadi:

$selectQuery = '
                SELECT 
                    ' . implode($allFields, ', ') . ' 
                FROM 
                    People 
                WHERE 
                    ' . $fieldName . ' = :value
';
try
{ 
    $selectQueryResult = $db->prepare($selectQuery);
    selectQueryResult->bindParam(':value', $fieldValue);
    $selectQueryResult->execute();
}
catch(PDOException $e)
{
    handle_sql_errors($selectQuery, $e->getMessage());
}

di mana fungsinya adalah:

function handle_sql_errors($query, $error_message)
{
    echo '<pre>';
    echo $query;
    echo '</pre>';
    echo $error_message;
    die;
}
'; echo $error_message; mati;}

Sebenarnya saya menggunakan fungsi umum yang juga memiliki sesuatu seperti

$debug = debug_backtrace();
echo 'Found in ' . $debug[0]['file'] . ' on line ' . $debug[0]['line'];

untuk memberi tahu saya di mana masalahnya jika saya menjalankan banyak kueri



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL - Menggabungkan dua tabel

  2. Bagaimana cara mengeksekusi PHP yang disimpan dalam database MySQL?

  3. TAMBAHKAN () Contoh – MySQL

  4. Bisakah Anda menggunakan peningkatan otomatis di MySql tanpa itu menjadi Kunci utama?

  5. Bagaimana mencegah Konektor Mysql/J dari mengubah zona waktu TANGGAL dan WAKTU?