クエリのorderby句のプリペアドステートメントでプレースホルダーを使用できますか?
試してみたところ、うまくいかなかったようですが、エラーも出なかったので、おかしな感じでした。
検証された入力を使用してSQL文字列を生成する以外に、これを行うためのより良い方法はありますか?
クエリのorderby句のプリペアドステートメントでプレースホルダーを使用できますか?
試してみたところ、うまくいかなかったようですが、エラーも出なかったので、おかしな感じでした。
検証された入力を使用してSQL文字列を生成する以外に、これを行うためのより良い方法はありますか?
いいえ、列名にプレースホルダーを使用することはできません。DBIマニュアルから:
ほとんどのドライバーでは、データベースサーバーがステートメントを検証してクエリ実行プランを作成するのを妨げるステートメントの要素にプレースホルダーを使用することはできません。
しかし、それでもあなたはperlでクエリを構築することができます。この場合、quote_identifier
メソッドを使用して列名を引用します。