ホームページ > バックエンド開発 > PHPチュートリアル > MySQL のフェッチで「リソース期待失敗」エラーがスローされるのはなぜですか?

MySQL のフェッチで「リソース期待失敗」エラーがスローされるのはなぜですか?

DDD
リリース: 2024-12-27 21:16:10
オリジナル
309 人が閲覧しました

Why Does MySQL Fetching Throw a

Error Thrown: Resource Expectation Failure

MySQL テーブルのデータにアクセスしようとすると、次のようなエラーが発生する場合があります。 「mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows など...パラメーター 1 がリソースであることを期待しており、ブール値が指定されています。」

説明

このエラーMySQL クエリが失敗したときにトリガーされます。多くの場合、次のような原因が考えられます。間違った構文、論理エラー、フィールドの欠落、またはデータベース接続の問題。その結果、mysql_query() 関数から割り当てられた $result 変数は false を返します。

解決策

このエラーを解決するには、$result 変数がそれ以上の操作を実行する前は false です。 mysql_query() 関数のドキュメントには、考えられる戻り値の詳細と、失敗を処理する手順が提案されています。

mysql_ 拡張機能の場合、mysql_error() を使用してエラーの詳細を取得し、trigger_error() を使用して適切なエラー メッセージをトリガーします。次の改訂されたコードには、エラー処理が含まれています:

$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

if ($result === FALSE) {
    trigger_error(mysql_error(), E_USER_ERROR);
}

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

以上がMySQL のフェッチで「リソース期待失敗」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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