PHP 警告: mysql_free_result() はパラメーター 1 がリソース ソリューションであることを想定しています
PHP を使用して MySQL データベースに接続する場合、クエリ ステートメントの実行によって取得された結果セットは、関数 mysql_free_result( ).メモリリークを避けるため。ただし、次のエラー メッセージが表示されることがあります。 PHP 警告: mysql_free_result() はパラメータ 1 がリソースであることを期待しています。どうしたの?これはどうやって解決すればいいのでしょうか?
まず、このエラー メッセージの意味を分析しましょう。 mysql_free_result() は、渡される最初のパラメーターがリソース タイプの値であることを期待しています。リソースの種類は何ですか? PHP では、mysql_query() 関数を使用してクエリ ステートメントを実行すると、結果セットのリソース タイプの値が返されます。つまり、mysql_query() 関数の戻り値、つまり結果セットのリソースタイプの値は、mysql_free_result() 関数に渡される最初のパラメータに渡される必要があります。
このエラー メッセージが表示された場合は、mysql_free_result() 関数に渡される最初のパラメータに正しいパラメータが渡されていないことを意味します。このパラメータは実際には、mysql_query() によって返される結果セット リソース タイプである必要があります。関数.値.したがって、このエラー メッセージは、コード内で mysql_query() 関数が正しく使用されているかどうかをチェックし、その戻り値が実際にリソース タイプの値であることを確認する必要があることを思い出させます。
この問題を解決するには、2 つの側面から始める必要があります。1 つはコードを確認すること、もう 1 つはコードの使用仕様を理解することです。 mysql_query() 関数。
2.1 コードを確認する
コードを確認するときは、mysql_query() 関数と mysql_free_result() 関数を見つけ、これら 2 つの関数間で渡されるパラメータが正しいかどうかを確認する必要があります。渡されたパラメータに問題がある場合は、エラーが報告されます。コード内の次の点を確認する必要があります。
上記の点に問題がない場合は、結果セット リソースが返された可能性があります。このとき、mysql_query() 関数の使用仕様には十分注意する必要があります。
2.2 mysql_query() 関数の使用仕様を理解する
最初に注意すべきことは、mysql_query() 関数は PHP 5.5.0 以降では非推奨となり、PHP 7.0.0 以降では非推奨となったことです。 。 消去。現時点では、代わりに mysqli_query() 関数または PDO の prepare() およびexecute() 関数を使用することをお勧めします。したがって、mysql_query() 関数を使用するときは、問題を回避するために注意するか、より安全で安定した mysqli_query() 関数または PDO の prepare() およびexecute() 関数を使用する必要があります。
第 2 に、mysql_query() 関数によって返される結果セットのリソース タイプ値は、関数が呼び出された場合にのみ有効であり、クエリ ステートメントが SELECT ステートメントではない場合にのみ有効であることに注意してください。リソースタイプの値が返されます。したがって、コード内で mysql_query() 関数が正しく使用されているかどうかを確認し、返された値がリソース タイプの値であるかどうかを確認する必要があります。
最後に、知っておく必要があるのは、mysql_query() 関数によって返される結果セット リソース タイプの値は、mysql_query() 関数が実行されている限り自動的に解放されるということです。したがって、mysql_query() 関数が結果セットを返した直後に mysql_free_result() 関数を実行すると、パラメータの型エラーが発生します。
要約すると、「PHP 警告: mysql_free_result() はパラメーター 1 がリソースであることを期待しています」というエラーを回避するには、mysql_query() 関数を使用するときに次の点に注意する必要があります。
以上がPHP 警告: mysql_free_result() はパラメーター 1 がリソース ソリューションであることを想定していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。