mysqli 拡張機能と準備済みステートメントを使用して、MySQL テーブルにデータを挿入するための PHP コードをいくつか作成しました。MySQL サーバーはバージョン 5.0.77 を実行しています。
バージョン 5.5.27 を実行しているマシンでコードをローカルでテストしたところ、問題なく動作しました。古いバージョンの MySQL を使用してサーバーにコードを転送すると、「mysql_stmt_execute に渡された不明なプリペアド ステートメント ハンドラ (0) が毎回」というエラーが表示されます。
私はこのエラーを何度もグーグルで検索しましたが、バージョン 5.0.77 より前にすべて修正されたように見えるバグ レポートしか見つかりませんでした。もう 1 つの奇妙な点は、レポートでエラー メッセージの変更に番号が記載されていることがありますが、私の場合は、同時に接続を開いている異なるブラウザーの数に関係なく、番号は 0 のままです。
サーバーは私の管理下になく、他の多くのユーザーにもサービスを提供しているため、サーバーをアップグレードできません。
何が起こっているのか、またはそれを修正する方法を知っている人はいますか? どうもありがとうございました。
編集
PHP コードはhttp://pastebin.com/1X4f5G5Zに貼り付けられています。関数の機能を理解するのに役立つコメントをいくつか追加しました。
http://www.php.net/manual/en/mysqli-stmt.bind-param.php#110363で提供されているように、mysqli エクステンションでラッパー クラスを使用しています。