我遇到了绑定ORDER BY和PDO方向的问题。从我在网上看到的情况来看,你需要将SQL运算符绑定到查询中,但这不是我对params
数组所做的事情吗?我似乎在这里正确地做了一切,所以我不明白它为什么不起作用。
/**
* Runs a query on the database
* @param mixed $params Array containing query and bind params
* @return mixex Raw database object
*/
public static function runQuery($params) {
// Prepare Query
$preparedQuery = Database::connection()->prepare($params["query"]);
// Execute Query
$preparedQuery->execute($params["params"]);
// Return results
return $preparedQuery;
}
/**
* Lists all values from a table
* @param string $table What table to query
* @return array Associative array from specific table with all values
*/
public static function getAll($table, $order, $direction) {
// List of results from database
$data = Utilities::runQuery([
"query" => "SELECT * from `$table` ORDER BY :order :direction",
"params" => [
":order" => $order,
":direction" => $direction
]
]);
// Return list
return $data->fetchAll(PDO::FETCH_ASSOC);
}
答案 0 :(得分:0)
在ORDER BY
条款中,我认为您无法使用占位符。
只能绑定值,而不能绑定列名。