SELECT * FROM disney;
+++++++NAME+++++++
lion king
cinderella
the little mermaid
+++++++++++++++++++
$string = "i love the movie lion king, it rocks!"
Я хочу получить NAME из Disney, где NAME находится внутри данной строки. Это вроде как:
'SELECT * FROM disney WHERE NAME LIKE "%'.$string.'%";'
только наоборот (но не работает, когда я его пробовал).
Есть ли функция MYSQL для проверки наличия данных в ячейке таблицы в данной строке?
Спасибо большое!().i'm работает с PHP!
Я думаю, что следующее должно работать (я помню, что пытался сделать одно и то же, и я думаю, что это то, что я использовал):
'SELECT * FROM disney WHERE "' . $string . '" LIKE CONCAT("%",NAME,"%")';
Здесь INSTR Функция, которая должна работать для этого:
SELECT * FROM disney WHERE INSTR('i love the movie lion king, it rocks!', name) > 0
Вы также можете попробовать MySQL FULLTEXT функцию поиска, которая работает только с таблицами MyISAM:
$query = "SELECT * FROM disney WHERE MATCH(NAME) AGAINST ('$text')";
SELECT * FROM disney WHERE NAME LIKE '%{$string}%';