Строка запроса MySQL содержит

Я пытался выяснить, как я могу сделать запрос с MySQL, который проверяет, если значение (представляют в виде строки $haystack ) в определенном столбце содержит определенные данные (строка $needle), как это:

mysql_query("
SELECT *
FROM `table`
WHERE `column`.contains('{$needle}')
");

В PHP вызвана функция substr($haystack, $needle), так, возможно:

WHERE substr(`column`, '{$needle}')=1
276
задан ks1322 8 November 2017 в 08:26
поделиться

3 ответа

На самом деле все очень просто:

mysql_query("
SELECT *
FROM `table`
WHERE `column` LIKE '%{$needle}%'
");

% - это подстановочный знак для любого символа. Обратите внимание, что это может замедлиться для очень больших наборов данных, поэтому, если ваша база данных растет, вам нужно будет использовать полнотекстовые индексы.

403
ответ дан 23 November 2019 в 02:06
поделиться

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

SELECT *
  FROM `table`
 WHERE INSTR(`column`, '{$needle}') > 0

Ссылка:

134
ответ дан 23 November 2019 в 02:06
поделиться
WHERE `column` LIKE '%$needle%'
51
ответ дан 23 November 2019 в 02:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: