PHPとmysqliのプリペアドステートメントを使用しています。実行時に手動でエラーをチェックするやむを得ない理由はありmysqli_stmt_prepare()
ますか?具体的には、プリペアドステートメントの行だけで最終結果について質問しているわけではありません。
$sql = "SELECT * FROM `users`;";
$stmt = mysqli_stmt_init($db);
mysqli_stmt_prepare($stmt, $sql); // How should I check for error in here
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
PHPマニュアルでは、これとこの行のみをif
ステートメントに記述しています。
$sql = "SELECT * FROM `users`;";
$stmt = mysqli_stmt_init($db);
if (mysqli_stmt_prepare($stmt, 'SELECT * FROM `users`;')) {
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
}
mysqliでプリペアドステートメントを使用するときにエラーを適切にチェックする方法を知りたいです。マニュアルに示されているように、その関数の戻り値を手動でチェックする正当な理由はありますか?
マニュアルに示されているように、その関数の戻り値を手動でチェックする正当な理由はありますか?
いいえ、ありません。
Mysqliはエラーを自動的にチェックできます。そうするように依頼するだけです。
エラーが発生するたびに例外をスローするようにmysqliを設定すると、mysqli関数でエラーを手動でチェックする必要がなくなります。
したがって、前に次の行を追加します mysqli_connect()
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
そしてそれがすべてです!
起こりうるエラーに正しい方法で対処する必要があることに注意してください。あなたは私の記事、PHPエラー報告でそれについて読むことができます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加