У меня возникают проблемы с привязкой 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);
}
В предложении ORDER BY
я думаю, что вы не можете использовать заполнители.
Могут быть привязаны только значения, а не имена столбцов.