如何在mySQL中的数据库表中搜索逗号分隔的字符串

时间:2014-12-30 12:32:11

标签: php mysql database

如何在mySQL中的数据库表中搜索以逗号分隔的字符串。

假设我在变量$facilities='breakfast,dinner,lunch'中有一个字符串,在我的数据库中,我有一个字符串保存在名为facilities 的字段中,其值为 breakfast,dinner,clothing,lunch,hot water。< / p>

如何获得值为$facilities的行?

3 个答案:

答案 0 :(得分:0)

SELECT  *
FROM    tableName
WHERE   FIND_IN_SET('lunch', 'breakfast,dinner,lunch')

修改

SELECT *     FROM tableName     在哪里FIND_IN_SET(&#39;午餐&#39;,food_column)

food_column是字符串&#39;早餐,晚餐,午餐&#39;存储

答案 1 :(得分:0)

这样的工作我希望这是你的要求

select * from table where field_name like '%$fieldname%' 

答案 2 :(得分:0)

您需要首先拆分逗号分隔的字符串,并为每个字符串包含一个子句,因此对于该输入,您将生成类似的SQL(假设您希望所有三个行都包含在内,并且也许其他标志设置):

SELECT      *

FROM        YourTable

WHERE       FIND_IN_SET('breakfast', facilities)
    AND     FIND_IN_SET('dinner', facilities)
    AND     FIND_IN_SET('lunch', facilities)

您可以使用类似的东西在PHP中拆分字符串:

$facilities='breakfast,dinner,lunch';
$desired = explode ( "," , $facilities );

只需使用循环来构建SQL