我想用 PDO 从 MySQL 数据库中获取结果。用户应该能够按 tablerow 的类型(升序或降序)对它们进行排序。这似乎仅在您对其进行硬编码时才有效。
是否有效:
$query = "SELECT * FROM ".$config->dbPrefix."content
WHERE cat_id = 2
ORDER BY id DESC
";
$query = $pdo->prepare($query);
$query->execute();
$result = $query->fetchAll();
不起作用:
$orderRow = 'id'; //from $_POST
$orderType = 'DESC' //from $_POST
$query = "SELECT * FROM ".$config->dbPrefix."content
WHERE cat_id = 2
ORDER BY :orderRow :orderType
";
$query = $pdo->prepare($query);
$query->bindValue(':orderRow', $orderRow);
$query->bindValue(':orderType', $orderType);
$query->execute();
$result = $query->fetchAll();
所以我的问题是:最好的方法是什么,为什么不实施?
我能想到的最好方法是使用 switch 语句并为每个不同的选项编写查询,这将有 14 个不同的可用案例。