gpt4 book ai didi

php - 在 SELECT 语句中绑定(bind)排序属性

转载 作者:行者123 更新时间:2023-11-28 23:51:20 25 4
gpt4 key购买 nike

对于带有排序顺序的 SELECT 查询,我准备了这个语句:

$direction = 'DESC';
$project_id = 1;

$query = $this->connection->prepare('SELECT text FROM marker WHERE project_id = :project_id ORDER BY time :direction');
$query->bindValue(':project_id', $project_id, PDO::PARAM_INT);
$query->bindValue(':order', $direction, PDO::PARAM_STR);
$success = $query->execute();

但是失败了。所以我准备了这个声明:

$query = $this->connection->prepare('SELECT text FROM marker WHERE project_id = :project_id ORDER BY time '.$direction.'');
$query->bindValue(':project_id', $project_id, PDO::PARAM_INT);
$success = $query->execute();

而且有效。

不能绑定(bind) ORDER 属性吗?如何正确绑定(bind) ORDER 属性?

最佳答案

您可以使用case 语句来表达您想要的内容。这是一个相对简单的表达式:

order by (case when :order = 'DESC' then time end) DESC,
time ASC

关于php - 在 SELECT 语句中绑定(bind)排序属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32536803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com