Невозможно использовать ORDER BY и ASC / DESC в PDO bindparam

0

У меня возникают проблемы с привязкой 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);
}
Теги:
pdo
php-7

1 ответ

0

В предложении ORDER BY я думаю, что вы не можете использовать заполнители.

Могут быть привязаны только значения, а не имена столбцов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню