Я пытаюсь выполнить функцию поиска с использованием php и MySQL. Мне нужно искать из двух разных колонок, один для названия песни и один для художника и пользователь может выполнять поиск по:php MySQL Поиск по двум столбцам
1. artist name.
2. song title.
3. both of them (without order)
4. there will be special characters for ex: ' (apostrophe)
Это то, что я сделал, но мне нужен более эффективный способ сделать это. Я также думал, используя similar_text();
в php. Может ли кто-нибудь предложить мне лучший способ сделать это. Спасибо
стол: songs
|artist | title |
|----------------------|
|eminem | not afraid |
|kida | o'najr |
Мой код:
$search_value = $_POST["search_value"];
$query = "select * from `songs` where concat(`title`, `artist`) like '%$search_value%'";
Есть ли что-то, что Безразлично Работа? Вы получаете какие-либо ошибки, которых вы не ожидаете? –
Это выглядит ужасно неуверенно. Вы уверены, что ** ваши пользовательские параметры [правильно экранированы] (http://bobby-tables.com/php)? '$ _POST' ** НИКОГДА ** не переходит непосредственно в запрос. Без ускорения в какой-то форме это не сработает. – tadman
Это работает, но вы знаете ... это не такое хорошее решение. Также напр. он не должен работать с частью строки. Напр. если вы ищете: рейд, это показывает Eminem - Not Afraid в результате. и этого не должно быть. –