У меня есть следующий код, который заставляет меня упорядочивать значения от наименьшего к наибольшему.

$values = '4|2|7|1|20';

$test = $db->QueryFetchArrayAll("SELECT id FROM user WHERE (CONCAT(',', id, ',') REGEXP ',($values),')");

foreach ($test as $test_as) {
  echo $test_as['id'].',';
}

// Output:
1,2,4,7,20

// Should be same as string values:
4,2,7,1,20

Как я могу перестать заказывать его по умолчанию и сделать заказ по values?

0
user11815678 3 Окт 2019 в 19:18

1 ответ

Лучший ответ

Добавить

ORDER BY FIELD(id,4,2,7,1,20);

К вашему SELECT.

Вы все равно должны использовать подготовленный оператор, когда вам 4 года тестирования.

0
nbk 3 Окт 2019 в 16:29