У меня следующий запрос: -
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
- что работает, поэтому я знаю, что запрос не нарушен.Но при попытке связать значение порядок не работает.
Может кто-нибудь увидеть что-то не так с кодом, который может вызвать это?Спасибо за ваше время.