• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:order by での変数使用について。)

PHPのsql文でorder byで変数を使用する際の問題

このQ&Aのポイント
  • PHPのsql文でDBからデータを抽出する際にorder byで特定のデータに対して昇順、降順でデータを抽出したいが、変数を使うと正しく機能しない。
  • order byで変数が使えない理由について考えて試行錯誤したが、解決策が見つからない。
  • 情報検索機能のためにセッションに値を保存し、次のページでも同じ条件でデータを抽出したい。

質問者が選んだベストアンサー

  • ベストアンサー
  • duron
  • ベストアンサー率77% (73/94)
回答No.2

$sqlは単なる文字列として結合された値が設定されるわけですからwhere句だろうがorderby句であろうが関係なく変数は使えると思います。 実際にsqlが実行される直前で$sqlをprint等で出力して、本当に期待しているsql文が設定されているか確認してみてください。

orange0120
質問者

お礼

今までsql文の中身を出力するということは思いつきませんでした。 出力してから内容を確認したところ「"」で括られていたので、「"」を「`」に変えたところ 期待していた検索結果が表示されました。 ありがとうございます!

その他の回答 (1)

回答No.1

上のコードだと$_SESSION["condition"]の値は「"」で括られるけど、カラム名なら「`」で括るのではないでしょうか?

orange0120
質問者

お礼

「`」で括らないといけないのかと思い一度「`」で括って上手く動かなかったので諦めていたのですが、 ソースの書き方が悪かったみたいで「"」を単純に「`」に変えたらちゃんと動きました! ありがとうございます!

関連するQ&A