mysqli::query(): mysqli オブジェクトはすでに閉じられています / mysqli エラーを取得できませんでした
提供された PHP コードはクラスを利用しています(EventCalendar) データベース接続を管理し、クエリを実行します。ただし、エラー メッセージは、mysqli オブジェクトがすでに閉じられているか、mysqli エラーの取得中にエラーが発生したことを示しています。
エラーについて
mysqli オブジェクトが閉じられているとき途中で、後続のクエリが「mysqli オブジェクトはすでに閉じられています」エラーで失敗します。これは、すべてのクエリが実行される前に DBConnect オブジェクトが閉じられた場合に発生する可能性があります。
エラーの 2 番目の部分である「mysqli エラーをフェッチできませんでした」は、スクリプトが関連するエラー メッセージを取得しようとしたことを示します。以前の mysqli 操作ではエラー メッセージを取得できませんでしたが、おそらく接続が閉じられたことが原因です。
問題
必要なクエリがすべて実行されるまで DBConnect オブジェクトが閉じられていないことを確認します。提供されたコードでは、DBConnect オブジェクトは __destruct() メソッドで閉じられます。すべてのクエリが実行され、オブジェクトが不要になった後など、実際の接続終了をより適切な場所に移動します。
さらに、潜在的な接続の問題を適切に処理するために、クエリを実行する前に接続のステータスを確認することを検討してください。
改訂されたコード例
コードの改訂された部分は次のとおりです。潜在的なクロージャーの問題に対処します:
// Function to add events to Zodiac calendar
以上がPHP mysqli オブジェクトが途中で閉じて、「mysqli オブジェクトはすでに閉じられています / mysqli エラーをフェッチできませんでした」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。