Я сам учу себя делать MySQL и PHP. Это новый мир для меня, у меня есть несколько книг, и я много изучаю Google, прежде чем спрашивать здесь. Поэтому я застрял в следующей проблеме, и я не могу найти ответ, у меня есть база данных MySQL, в базе данных есть определенное поле, называемое URL.Запрос MySQL с PHP
Часть поля URL выглядит следующим образом:
&path=products&user=Mark24&id=2616
В настоящее время у меня есть она настроена таким образом, люди могут осуществлять поиск в базе данных, и это работает. то, что я хочу добавить в функцию поиска, - это поиск по пользователю. как вы можете видеть, что пользователь находится в середине всего URL так что я это:
$query = "select Productid, Productname, url, from Products where Productid like '%$keyword%' or Productname like '%$keyword%' or url like '%$keyword%' ";
$result = mysqli_query($dbc,$query);
Сейчас идет реальная проблема, ^^ это творит чудеса, люди могут на самом деле искать имя пользователя и он будет отображаться именно что я хочу. Однако, если люди ищут слово «продукты» или «путь», который также находится в URL-адресе, они получат более 2000 матчей, потому что каждый URL-адрес моей базы данных имеет слово «продукты и путь». Почему я хочу этого избежать? я не хочу, чтобы клиенты просматривали всю нашу базу данных, я также боюсь перегрузки сервера, потому что с каждым запросом клиент получает изображение продукта, а также имя продукта и ссылку на продукт. попытка загрузить более 2000 снимков также замедляет работу или сбой моего браузера, поэтому мне нужно как-то это исправить, но я не уверен, как ее решить.
Так есть способ сопоставить только ту часть, которая говорит user = "blah" для поля URL? я делаю это с PHP, preg-match возможно ???
Любая предоставленная информация высоко ценится! Благодарю.
К не санировать это выглядит, вы можете быть vuln. –