mySQLi bind_param не работает должным образом - PullRequest
0 голосов
/ 17 февраля 2019

У меня следующий запрос: -

SELECT
make_ID,
mileage
FROM cars
WHERE make_ID = ?
ORDER BY ?

Запрос работает нормально, кроме привязки параметра.Это мой подготовленный код оператора: -

$stmt = sqli::$link->prepare($sql);

$make_filter = 1;
$sort_filter = "mileage";
$stmt->bind_param( 'is', $make_filter, $sort_filter );
$result = array();

// execute query
if ($stmt->execute()){
    // $stmt->store_result();

    // bind results to variables
    $stmt->bind_result($make, $mileage );

    // build results array for return
    while ($stmt->fetch()){
        echo("$make, $mileage<br>");
    };

    // clear memory
    $stmt->free_result();
}

Первое связывание WHERE make_ID = ? работает нормально, и результаты показывают только строки с make_ID 1, как и ожидалось.

Однако второеbind ORDER BY ? не упорядочивает результаты на основе mileage.Я проверил SQL, удалив второй ? и поместив значение вручную, как ORDER BY mileage - что работает, поэтому я знаю, что запрос не нарушен.Но при попытке связать значение порядок не работает.

Может кто-нибудь увидеть что-то не так с кодом, который может вызвать это?Спасибо за ваше время.

1 Ответ

0 голосов
/ 17 февраля 2019

Поцарапайте это.После небольшого просмотра в стеке, кажется, что имена столбцов не могут быть связаны, поэтому ORDER BY не будет работать.

Этот пост помог мне: - Не похоже 'order by' для MySqliPhp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...