ホームページ > データベース > mysql チュートリアル > PHP の MySQL 拡張機能を使用するときにクエリの失敗を処理するにはどうすればよいですか?

PHP の MySQL 拡張機能を使用するときにクエリの失敗を処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-29 12:50:15
オリジナル
711 人が閲覧しました

How Can I Handle Query Failures When Using PHP's MySQL Extensions?

PHP MySQL 拡張機能でのクエリの失敗の処理

MySQL テーブルからデータを抽出しようとすると、「mysql_fetch_array()」などのエラーが発生することがあります。パラメータ 1 がリソースであることを期待しており、ブール値が指定されています」というメッセージが表示される場合があります。このエラーは、クエリ関数が失敗し、予期されたリソース ハンドルではなくブール値 (「false」) が返されたことを示します。

提供された PHP コード内:

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

while($row = mysql_fetch_array($result)) {
    echo $row['FirstName'];
}
ログイン後にコピー

エラーが発生しますクエリ関数 (mysql_query) は実行が成功した場合は true を、失敗した場合は false を返すことができるためです。指定された SQL ステートメントは、無効な構文やテーブルが存在しないなど、さまざまな理由で失敗する可能性があることに注意してください。

これを解決するには、行をフェッチする前にクエリ関数の結果を確認する必要があります。 mysql_fetch_array を使用します。 $result が false と評価された場合、クエリが失敗したことを意味するため、エラーを適切に処理する必要があります。

非推奨の MySQL 拡張機能の場合:

  • を使用します。 mysql_error を使用して、クエリの失敗に関連するエラー メッセージを取得します。
  • ユーザーフレンドリーなエラー メッセージを表示するか、デバッグ用にエラーをログに記録します。
if($result === FALSE) {
    trigger_error(mysql_error(), E_USER_ERROR);
}
ログイン後にコピー

MySQLi 拡張機能の場合:

  • エラー コードを取得するには、mysqli オブジェクトを使用します。
  • を使用します。 mysqli_error を使用してエラー メッセージを取得します。
  • 必要に応じてエラーを処理します。
if($result->errno) {
    // Log or output the error message
}
ログイン後にコピー

以上がPHP の MySQL 拡張機能を使用するときにクエリの失敗を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート