如何在mySQL中的数据库表中搜索以逗号分隔的字符串。
假设我在变量$facilities='breakfast,dinner,lunch'
中有一个字符串,在我的数据库中,我有一个字符串保存在名为facilities
的字段中,其值为 breakfast,dinner,clothing,lunch,hot water
。< / p>
如何获得值为$facilities
的行?
答案 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