在php / pdo中参数化ORDER BY列和关键字变量

时间:2019-07-15 14:10:31

标签: php sql pdo

我需要将ORDER BY列名和DESC或ASC关键字都参数化为变量。 我已经运行了,但是变量在查询中,这是不安全的。

$fruitColumn='bananas'
$sortbyORDER= 'DESC'
$fruitSearch = $db->prepare("
SELECT * FROM fruits
ORDER BY $fruitColumn $sortbyORDER");
$fruitSearch ->execute();

但是-为了安全起见,我需要在执行中绑定变量。

$fruitSearch = $db->prepare("
SELECT * FROM fruits
ORDER BY ? ?");
$fruitSearch ->execute([$fruitType,$sortbyORDER]);

这似乎不起作用,因为两个?s给我一个错误。

我也尝试将两个变量合并为一个。 $order = ".$fruitColumn." ".$sortbyORDER;

这可能吗?预先感谢

0 个答案:

没有答案