1

クエリのorderby句のプリペアドステートメントでプレースホルダーを使用できますか?

試してみたところ、うまくいかなかったようですが、エラーも出なかったので、おかしな感じでした。

検証された入力を使用してSQL文字列を生成する以外に、これを行うためのより良い方法はありますか?

4

1 に答える 1

8

いいえ、列名にプレースホルダーを使用することはできません。DBIマニュアルから:

ほとんどのドライバーでは、データベースサーバーがステートメントを検証してクエリ実行プランを作成するのを妨げるステートメントの要素にプレースホルダーを使用することはできません。

しかし、それでもあなたはperlでクエリを構築することができます。この場合、quote_identifierメソッドを使用して列名を引用します。

于 2009-12-07T20:11:51.910 に答える