MySQL - есть ли способ сопоставить данные таблицы с заданной строкой, а не наоборот - PullRequest
0 голосов
/ 30 ноября 2009
SELECT * FROM disney;
+++++++NAME+++++++
lion king
cinderella
the little mermaid
+++++++++++++++++++

$string = "i love the movie lion king, it rocks!"

Я хочу получить ИМЯ от Диснея, где ИМЯ находится внутри данной строки. Это вроде как:

'SELECT * FROM disney WHERE NAME LIKE "%'.$string.'%";'

только наоборот (но я не работал, когда я попробовал).

Существует ли функция MYSQL для проверки наличия данных в ячейке таблицы в данной строке?

Большое спасибо! (). Я работаю с PHP !

Ответы [ 3 ]

1 голос
/ 30 ноября 2009

Есть функция INSTR , которая должна работать для этого:

SELECT * FROM disney WHERE INSTR('i love the movie lion king, it rocks!', name) > 0
1 голос
/ 30 ноября 2009

Я думаю, что должно работать следующее (я помню, как пытался сделать то же самое один раз, и я думаю, что это то, что я использовал):

'SELECT * FROM disney WHERE "' . $string . '" LIKE CONCAT("%",NAME,"%")';
0 голосов
/ 30 ноября 2009

Вы также можете использовать функцию поиска MySQL FULLTEXT , которая работает только с таблицами MyISAM:

$query = "SELECT * FROM disney WHERE MATCH(NAME) AGAINST ('$text')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...