2015-01-08 2 views
1

Я хочу искать больше, чем столбцы из одной базы данных с PHP и MySQL. В настоящее время я работаю.PHP, поиск нескольких строк в базе данных

Это моя форма:

<form action="products.php" method="POST"> 
    Search: <input type="text" name="search" /> 
    <input type="submit" value="submit"/> 
    </form> 

и вот мой текущий рабочий запрос:

$query = "SELECT * FROM `GraphicsCards` WHERE `Brand` LIKE '%". $search . "%'"; 
$run = mysqli_query ($connection, $query); 

Как вы можете видеть, что мой запрос ищут свою базу данных, чтобы увидеть, если поиск введенного пользователя матчей ничего в колонке «Бренд».

У меня есть другие столбцы, такие как «Модель» «Цена» и т. Д. И т. Д., И хотели бы иметь возможность искать их, а также просто «Бренд». Возможно ли это, это один запрос?

Кроме того, я уже пробовал «И» и «ИЛИ», а также «|| «но они не работают.

+0

Почему нет ИЛИ работает? – user4035

+0

Я не знаю, когда я добавляю ИЛИ запрос больше не отображает данные:/ –

+0

Убедитесь, что '$ search' правильно экранирован, если он исходит от ввода пользователя, иначе у вас будет уязвимость SQL-инъекции. По этой причине лучше всего переключиться на параметризованные запросы. – halfer

ответ

4

OR будет работать, вам просто нужно сделать это правильно.

$query = "SELECT * FROM `GraphicsCards` 
    WHERE `Brand` LIKE '%". $search . "%' 
     OR `Model` LIKE '%" . $search . "%' 
     OR `Price` LIKE '%" . $search . "%'"; 

И только FYI, Brand, Model и Price столбцы, а не строки.

+0

Патрик ты замечательный парень !! Оно работает! Спасибо, и Бог благословит :) –

+0

@AbdushSamadMiah Добро пожаловать. Если бы вы могли просто отметить ответ как принятый, так как он решил вашу проблему, это было бы оценено. –

+0

lool и cheers для FYI выше, я буду помнить для будущей ссылки :) –

1

Вы должны попробовать:

$query = " 
    SELECT * FROM `GraphicsCards` 
    WHERE 
     `Brand` LIKE '%". $search . "% OR `Model` LIKE %'" . $search . "%"; 
$run = mysqli_query ($connection, $query); 

Позвольте мне знать, как это работает.

+0

Привет Асаф спасибо за ответ Ответ Патрика выше решил мою проблему, я ценю ваш ответ. ура –

Смежные вопросы