【发布时间】:2014-01-14 04:38:59
【问题描述】:
我找不到如何使用变量作为 ORDER BY 选择器的参数:以下代码不起作用。
$orderBy = 'number';
$q = $instanceBDD->prepare('SELECT * FROM operations ORDER BY :orderBy ASC',
array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$q->execute(array('orderBy' => $orderBy));
而
$q = $instanceBDD->prepare('SELECT * FROM operations ORDER BY number ASC',
array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$q->execute();
有效。
既然我想把这段代码放在一个以$orderBy为参数的函数中,想办法解决这个问题真的很方便……
【问题讨论】:
-
您可以创建一个存储过程,在其中传入您希望排序的列的名称。
标签: php sql sql-order-by