To zależy.
Przez większość czasu nie chcesz wiedzieć, czy dana wstawka się nie powiodła. Ale raczej, czy Twoja witryna działa dobrze, czy nie. Więc ogólnie twój kod powinien być po prostu
$stmt = $db_con->prepare(" INSERT INTO mytable ( col ) VALUES ( ? ) ");
$stmt->execute( array('anything') );
echo 'successful';
zarówno inne, jak i złapanie są bezużyteczne.
Czasami jednak możesz chcieć złapać pewny błąd . W takim przypadku użyj zaczepu. Oto kod z mojego artykułu :
try {
$pdo->prepare("INSERT INTO users VALUES (NULL,?,?,?,?)")->execute($data);
} catch (PDOException $e) {
if ($e->getCode() == 1062) {
// Take some action if there is a key constraint violation, i.e. duplicate name
} else {
throw $e;
}
}
tutaj możesz złapać pewien błąd i go obsłużyć.