Pertanyaan Anda tampaknya cukup kabur - apakah Anda ingin mengabaikan pelanggaran batasan integritas, atau Anda ingin itu menjadi sinyal yang mengatakan "tidak ada lagi penyisipan".
Selain jawaban dengan insert ignore
solusi - saat Anda menjalankan kueri dan mendapatkan SQLSTATE[23000]: Integrity constraint violation
kesalahan, itu berarti PDO melempar pengecualian. Jika Anda tidak catch
itu, skrip Anda terbunuh. Jika Anda tidak ingin itu dimatikan, bungkus kode DB Anda ke dalam konstruksi try-catch, yaitu:
try {
// code here
$insertItem = $db->query("
INSERT INTO cart (userid, itemid)
VALUES (:userid, :itemid)",
array("userid"=>"175", "itemid"=>"12")
);
// more code here
} catch(Exception $e) {
// handle exception -
// find out if it is caused by integrity contraints violations
// and if it is - merely go further
// otherwise do something else, like re-throwing your exception
}
HTH