可能性の重複:
Retrieve (or simulate) full query from PDO prepared statementPDOのデバッグ - バインド後のクエリの表示
私のクエリは...それはいくつかの非常にダイナミックな検索機能を実装し、もし/ループたくさんの0行を返して、なぜ私が把握することはできませんステートメント等のためにそれをデバッグするために、私は正確にどの文字列がサーバーに送られているのを見たいと思います。 PHPでこれを行う方法はありますか?
サーバに「最後のクエリは何か」と尋ねる方法や、PDOに「送信したものを表示する」と言う方法がありますか?
の代わりにstr_replace
を手動で入力すると1つの応答が表示されましたが、この方法では役に立たない構文の問題(または不正なループなど)が考えられます。
bindValue(":fieldValue", $value);
を使用すると違いがあります。
EDIT
は、それがif ($var=="true") { ...
されている必要があり、単純なif ($var="true") { ...
だったが判明します。 PHP私はその意味でJavaと同じではないと思いますか?いずれにせよ、問題は依然として立っています(私はこれを頻繁に実行する)。私はこのエラーを見つけるために一連のecho "You are Here";
を使用しなければなりませんでした。私は最終的なSQLステートメントを持っていた場合、私は "ああ、私のコードはwhere column = true
を追加した、間違ったIFを通過している必要があります..."見たことができます。
準備/バインドがエミュレートされていない場合は、あなたが話しているのクエリはどこにも存在しません。ステートメントとバインドは、データベースに不可欠です。しかし、あなたの開発サーバ上で 'query_log'を有効にすることは、何が行われたのかを明らかにするでしょう。 – Wrikken
それは事です。私は何を試すべきか分からない。私は通常 '$ sql'が私のステートメントですが、PDO(これは私が新しくなったもの)を使って簡単な' echo $ sql'を使ってこれを行います。 'SELECT column FROM table WHERE column =:fieldValue' doesn whereステートメントがどこかで間違って終わった場合、私を助けません。 – StuckAtWork
可能な複製[PDO準備文からの完全なクエリの取得(またはシミュレート)](http://stackoverflow.com/questions/3754530/retrieve-or-simulate-full-query-from-pdo-prepared-statement)とhttp ://stackoverflow.com/questions/530627/getting-a-pdo-query-string-with-bound-parameters-without-executing-itおよびhttp:// stackoverflowを参照してください。com/questions/1786322/in-php-with-pdo-how-to-final-sql-parametified-query –