2014年11月7日金曜日

PHP: PDO ではカラム名に変数をバインドできない

PHP の PDO では bindParam() や bindValue() で、
SQL に安全に値を埋め込むことができる。

しかし ORDER BY や GROUP BY などで、
上記の関数のようにカラム名を変数で指定するための関数は準備されていない。

カラム名を変数からセットしたい場合は、
以下の様な感じで、許可するカラム名リストを作っておき、
その中のいずれかであれば直接埋め込むという形式がよさそう。
http://stackoverflow.com/questions/2542410/how-do-i-set-order-by-params-using-prepared-pdo-statement

値チェックせずに直接埋め込まないように注意。

0 件のコメント:

コメントを投稿