2011-07-07 10 views
1

セキュリティ上の理由から、準備されたMYSQLIステートメントを使用できるようにする必要があります。mysqliとプリペアドステートメントを使用すると、列名に「ORDER BY」を入力できます

私はDIRECTION(ASC/DESC)があるしかし、COLUMNNAMEがDYNAMICですORDER BY COLUMNNAME DIRECTION

にできるようにする必要があります

私はmysqliのパラメータをバインドするとき、私は

'COLUMNNAME'「ASCを取得'または 'COLUMNNAME' 'DESC'

私は必要なもののに対し

これを行うためにとにかくがあります........ NO QUOTESではありませんか?

私は誰かが列またはテーブル名にバインドパラメータを使用することはできません Are PHP MySQLi prepared queries with bound parameters secure?

+0

[PHP/MYSQL - MySQLiプリペアドステートメント - ORDER BYにbind \ _paramを使用できますか? (結果セットの注文)](http://stackoverflow.com/questions/12021018/php-mysql-mysqli-prepared-statements-possible-to-use-bind-param-for-order-by) –

答えて

0

に似た何かを求める見てきました。プリペアドステートメントを適切に編集してから、後でパラメータをバインドする必要があります。

$sortorder = empty($sortorder) ? ' ORDER BY `some_column` ASC' : $sortorder; 
$preparedStatement = $pdoObject->prepare('SELECT * FROM `whereever` WHERE `some_column` = :whatever ' . $sortorder); 
$preparedStatement->bindValue(':whatever', 'whatever-the-value-is'); 
関連する問題