場合によります。
ほとんどの場合、特定の挿入が失敗したかどうかを知りたくありません。しかし、むしろあなたのサイトがうまく機能しているかどうか。したがって、一般的に、コードは次のようになります
$stmt = $db_con->prepare(" INSERT INTO mytable ( col ) VALUES ( ? ) ");
$stmt->execute( array('anything') );
echo 'successful';
他の両方とキャッチは役に立たない。
ただし、特定のエラーをキャッチしたい場合があります 。この場合、catchを使用します。これが
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;
}
}
ここでは、特定のエラーをキャッチして処理できます。