ホームページ  >  記事  >  バックエンド開発  >  PDO バージョンの問題 無効なパラメーター番号: バインドされたパラメーターがありません_PHP チュートリアル

PDO バージョンの問題 無効なパラメーター番号: バインドされたパラメーターがありません_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:13:451270ブラウズ

今日、バグに対処しているときに、非常に奇妙な問題を発見しました。特定の操作を実行すると、「無効なパラメーター番号: パラメーターがバインドされていません」というメッセージが表示されます。ただし、この問題はローカルまたはテスト マシンでは再現されていないと思います。バージョンに関連しているので、グーグルで検索したところ、 http://forum.typecho.org/topic.php?id=1501 を見つけました。記事の 2 階には、問題はバージョンのバグであると記載されています。php5.2.9 より下の PDO では、現れる。そこで、チーム内の別のマシン (5.2.6) を見つけてテストを行ったところ、そのサーバーの 5.2.17 でテストしたところ、問題は再現されませんでした。

デバッグ中に、このタイプの操作が発生したときに次のビジネスが上記のエラーを報告したことが判明しました:

PDO を使用してテーブル nw_log (uid フィールドやコンテンツ フィールドなどのテーブル フィールド) にデータの一部を挿入します。コンテンツ フィールド コンテンツは test であり、テーブル フィールドのコンテンツは PDO-> を呼び出すことによってエスケープされます。データベースに保存される前に quote メソッドを使用します。 php5.2.6 マシンでは上記のエラーが報告されますが、5.2.17 マシンでは正常に動作します。

コンテンツを http://a.xxx/?tid=1 に変更したところ、5.2.6 マシンと 5.2.17 マシンの両方で正常に動作したため、コンテンツ形式をもう一度デバッグしました。 href="http://a.xxx/?tid=1">test の場合、5.2.6 と 5.2.17 ではパフォーマンスが正常であるため、一重引用符が原因であると考えられます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/326401.html技術記事今日、バグに対処していたときに、非常に奇妙な問題を発見しました。特定の種類の操作を実行すると、「無効なパラメーター番号: パラメーターがバインドされていませんが、問題はローカルで発生しました。または...
」と報告されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。