Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Подготовленные запросы PDO
Форумы портала PHP.SU » » Вопросы новичков » Подготовленные запросы PDO

Страниц (1): [1]
 

1. stonerweed - 14 Февраля, 2017 - 23:08:01 - перейти к сообщению
Всем привет! Помогите пожалуйста понять что я делаю не так...

из get прилетает $sort и $order... значения в них имеются...

Так работает
CODE (htmlphp):
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM products ORDER BY $order $sort LIMIT :limit OFFSET :offset";


так нет
CODE (htmlphp):
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM products ORDER BY :order :sort LIMIT :limit OFFSET :offset";


CODE (htmlphp):
скопировать код в буфер обмена
  1. $result->bindParam(':order', $order, PDO::PARAM_STR);
  2. $result->bindParam(':sort', $sort, PDO::PARAM_STR);
  3. $result->bindParam(':limit', $limit, PDO::PARAM_INT);
  4. $result->bindParam(':offset', $offset, PDO::PARAM_INT);
  5. $result->setFetchMode(PDO::FETCH_ASSOC);
  6. $result->execute();


он не выдает ошибку... SQL выполняется, но данные не сортируются
2. 3d_killer - 14 Февраля, 2017 - 23:46:32 - перейти к сообщению
вообще между ними запятая по синтаксису идет
3. stonerweed - 14 Февраля, 2017 - 23:49:06 - перейти к сообщению
3d_killer пишет: вообще между ними запятая по синтаксису идет


3d_killer, спасибо большое!!! я думал поседею)))
4. Мелкий - 15 Февраля, 2017 - 10:24:38 - перейти к сообщению
3d_killer пишет:
вообще между ними запятая по синтаксису идет

Смотря что там подразумевается.
Мне показалось, что первое поле - имя поля, второе - ASC или DESC. Тогда это одно выражение сортировки и запятой между ними нет.
Если два разных поля для сортировки - тогда да, запятая нужна.

Суть остаётся - механизм prepared statements не может менять структуру запроса. Может подставлять только данные. А разная сортировка - это разная структура запросов.

 

Powered by ExBB FM 1.0 RC1