Въпросът ви изглежда доста неясен – или искате да игнорирате нарушенията на ограниченията си за целостта, или искате те да са сигнал, който казва „без повече вмъквания“.
В допълнение към отговора с insert ignore
решение - когато изпълните заявката си и получите SQLSTATE[23000]: Integrity constraint violation
грешка, това означава, че PDO хвърля изключение. Ако не catch
това, вашият скрипт е убит. Ако не искате да бъде убит, увийте своя DB код в конструкция try-catch, т.е.:
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