В отличие от других ответов, я думаю, что вы хотите использовать «ИЛИ» в своем запросе, а не «И»:
$query = "select * from explore where site_name like '%".$searchterm."%' or other_column like '%".$searchterm."%'";
Заменить other_column
именем второго столбца. Вы можете продолжать повторять часть, которую я добавил для каждого из ваших столбцов.
Примечание: это при условии, что ваша переменная $searchterm
уже экранирована для базы данных, например, с $mysqli->real_escape_string($searchterm);
. Всегда проверяйте, так ли это, или лучше используйте параметризованные запросы.
Аналогично, при выводе ваших переменных, таких как $row['site_name']
, всегда проверяйте, что вы экранировали их для HTML, например, используя htmlspecialchars($row['site_name'])
.
Последнее, что меня беспокоит, это то, что когда я нажимаю кнопку отправки на другой странице, я всегда отображаю сообщение «Пожалуйста, введите поисковый запрос». даже когда я вхожу во что-то?
Убедитесь, что в обеих формах используется один и тот же метод (пост в вашем примере). Тег <form>
должен иметь атрибут method="post"
.
Кроме того, что не так с упомянутой вами строкой кода? Есть ли ошибка? Это должно работать, насколько я могу судить.