PHPで、MySQLのORDER BYのセクションでパラメータを使うと、問題が発生します。警告こそ出ないのですが、何も表示されないんです。
lang
1$title = 'title1'; 2$order = 'id'; 3$direction = 'desc'; 4 5 6$stmt = $db->prepare("SELECT * from foo WHERE title = :param ORDER BY :order :direction"); 7$stmt->bindParam(':param', $title); 8$stmt->bindParam(':order', $order); 9$stmt->bindParam(':direction', $direction); 10$stmt->execute(); 11 12$result = $stmt->fetchAll(PDO::FETCH_ASSOC); 13
:paramは作動するのですが、:orderや:directionは作動しません。内部で正しくエスケープされていないのでしょうか?直接SQLに挿入しているのが良くないんでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。