Dipende.
La maggior parte delle volte non vuoi sapere se un particolare inserto ha fallito. Ma piuttosto se il tuo sito funziona bene o no. Quindi in generale il tuo codice dovrebbe essere solo
$stmt = $db_con->prepare(" INSERT INTO mytable ( col ) VALUES ( ? ) ");
$stmt->execute( array('anything') );
echo 'successful';
con entrambi gli altri e scopri di essere inutile.
Tuttavia, a volte potresti voler rilevare un certo errore . In questo caso usa catch. Ecco un codice dal mio articolo :
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;
}
}
qui potresti rilevare un certo errore e gestirlo.