mrusklon
@mrusklon
Не получается? Яростно гугли!

Как сформировать и обработать данные правильно?

есть у меня вот такой sql запрос
SELECT * FROM table_name WHERE (date='2019-03-12' AND user_id=14) OR (date='2019-03-12' AND user_id=121)


есть данные которые приходят от клиента:
('2019-03-12', '14', '1', '9', '10', '2', '12'),
 ('2019-03-12', '11', '1', '9', '10', '4', '8'),
 ('2019-03-12', '13', '1', '20', '21', '2', '8'),
 ('2019-03-12', '9', '1', '9', '10', '3', '10'),
 ('2019-03-12', '10', '1', '9', '10', '3', '10'),
 ('2019-03-12', '12', '1', '20', '21', '1', '9')


надо как то брать дату и первый параметр за датой из строки и подставлять в запрос , подскажите как это правильно сделать или что гуглить
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
Kozack
@Kozack
Thinking about a11y
Разбейте вашу строку на двумерный массив. Так сможете легко "Брать" что вам нужно.

А далее, можно через array_map составить массив строк (date='2019-03-12' AND user_id=14) после чего implode(' OR ', $array) чтобы получить готовое WHERE выражение.

Только не забудьте экранировать строки или проверять их перед подстановкой в запрос, во избежание SQL инекций
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы