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

PDO menolak untuk menghapus baris data (dalam tabel tertentu)

PDO::exec() fungsi mengembalikan jumlah baris yang terpengaruh, termasuk 0 jika tidak ada baris yang terpengaruh.

Baris seperti ini akan die() karena exec akan mengembalikan 0 yang diinterpretasikan sebagai boolean salah.

$dblink->exec("UPDATE `sometable` SET `somecolumn`=0 WHERE `somecolumn`=0") or die("Never use die for error handling.");

Praktik penanganan kesalahan terbaik untuk PDO adalah menggunakan pengecualian PDO. Aktifkan pengecualian PDO (dari kelas PDOException, lihat dokumen) seperti ini:

//enable Exception mode (uncaught exceptions work just like die() with the benefit of giving you details in logs of where execution was stopped and for what reason)
$pdoDBHandle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Hapus or die() dan exit(); dan aktifkan mode pengecualian. Saya yakin ini akan memperbaiki masalah "aneh" Anda. Lihat juga melempar Pengecualian di PHP, bahkan dengan kode prosedural (untuk menggantikan die() dan exit() .

BTW exit menghentikan eksekusi seperti die , kecuali ini berguna dalam mode CLI karena mengembalikan kode sukses/kesalahan ke sistem operasi. Ini benar-benar tidak dimaksudkan untuk penanganan kesalahan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengecualian classNotFound saat menggunakan JDBC untuk MYSQL di Tomcat di Eclipse

  2. menampilkan data dari sql dari mengklik peta svg

  3. Akses MYSQL ditolak untuk pengguna 'root'@'localhost'

  4. Bidang baris mana yang dikembalikan saat Pengelompokan dengan MySQL?

  5. Cara Membuat Tampilan MySQL