PHP: поиск «а ..»

0

Я хочу сделать это, когда вы выполняете поиск, например "A", тогда появится каждое полное имя с началом "A". Поэтому, если пользователь с именем "Andreas blabla" покажет

У меня это прямо сейчас:

$query = "SELECT full_name, id, user_name, sex, last_access, bostadsort 
              FROM users WHERE full_name LIKE '$_GET[searchUser]'"; 

Но все же мне нужно найти "Andreas blabla", чтобы вывести его из запроса (шоу). Так что это не работает.

Как я могу это сделать?

  • 5
    не забудьте отформатировать эту строку с помощью mysql_real_escape_string ($ _ GET ['searchUser']) или с помощью параметризованного запроса
  • 2
    imgs.xkcd.com/comics/exploits_of_a_mom.png
Теги:

4 ответа

4
Лучший ответ

Используйте метасимвол % после ввода символа в LIKE сравнение:

$query = " … WHERE full_name LIKE '$_GET[searchUser]%'";

И не забудьте проверить правильность ввода или выйти из выхода при вставке его в запрос.

2

Кажется, что полный код будет лучше, чем просто комментарий

$search = mysql_real_escape_string($_GET['searchUser']);
$query = "SELECT full_name, id, user_name, sex, last_access, bostadsort 
          FROM users WHERE full_name LIKE '$search%'"; 
1

Используйте подстановочные знаки MySql, например:

$query = "SELECT full_name, id, user_name, sex, last_access, bostadsort FROM users WHERE full_name LIKE '$_GET[searchUser]%'";

0

Использование:

...LIKE '$_GET[searchUser]%'"; 

Если пользователь ищет A, он выберет все строки, где full_name начинается с A

% - это дикая карта, которая соответствует чему-либо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню