PHPのプリペアードステートメントのセキュリティについて
以下のようなプリペアードステートメントを作りました。
$ps=$db->prepare("SELECT id, name, time FROM comment WHERE user = $area ORDER BY $order $desc");
defaultでは
$area="1 or 1=1";
$order='time';
$desc="";
が入っており、SELECT id, name, time FROM comment WHERE user = 1 or 1=1 ORDER BY time;
が実行されます。
質問1
WHERE部分とORDER部分において、:t_time
のようにbindParam
を実行しようと思ったのですが、
上手くいきませんでした。普通に変数にしたら出来たのですが、これは普通のやり方でしょうか?
質問2
$area
, $order
, $desc
をGET送信で受け取る場合、SQLインジェクションなどのセキュリティ上の問題は発生するのでしょうか。
自分で試したところ、問題なさそうだったのですが。。。