kentuck1213
@kentuck1213

Поиск из двух колонок из одного значения?

В базе есть 3 колонки product , artikul, cats
В инпут пользователь может вписать туда либо артикуль который состоит пример: AL89T или название продукта : Дятел вуди. cats 110 это категория архива игрушек.
Мне нужно в зависимости что вбил пользователь в ипнут делать поиск в базы по продуктам и артикулям и не учитавать архив игрушек
SELECT * FROM toys_products WHERE product LIKE '%" . $_GET['prodect_like'] . "%' OR artikul LIKE '%" . $_GET['prodect_like'] . "%' AND cats NOT LIKE '%x110x%'"

Составил такой sql запрос но криво работает. Находит даже архив игрушек но не имя продукта или по артиклю.
  • Вопрос задан
  • 228 просмотров
Решения вопроса 1
@dmitryKovalskiy
программист средней руки
За конкатенацию SQL и Get-параметров ударьте себя по пальцам.
Вам надо написать запрос использующий 2 переменных.Что-то вроде
SELECT something from table1 
WHERE (@param1 IS NULL OR @param1 = col1) OR(@param2 IS NULL OR @param2 = col2)

А сами GET-параметры проверить на валидность и проставить в качестве значений указанным переменным
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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