Ça dépend.
La plupart du temps, vous ne voulez pas savoir si une insertion particulière a échoué. Mais plutôt si votre site fonctionne bien ou non. Donc, en général, votre code devrait être juste
$stmt = $db_con->prepare(" INSERT INTO mytable ( col ) VALUES ( ? ) ");
$stmt->execute( array('anything') );
echo 'successful';
avec à la fois else et catch inutiles.
Cependant, vous voudrez peut-être parfois intercepter une certaine erreur . Dans ce cas, utilisez catch. Voici un code de mon article :
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;
}
}
ici, vous pouvez détecter une certaine erreur et la gérer.