我想我错过了一些明显的东西,但是...我有一个用户注册了$galleries=array('flowers','mountains','sky')
我在SQL row galleryTypes中保存了那些(imploded):flowers,mountains,sky
现在,当我搜索有鲜花和天空的用户时,如何从表中选择该用户? 我试过像:
SELECT user FROM table WHERE galleryTypes = flowers OR galleryTypes = sky
但没有运气......
有人能指出我正确的方向吗? 谢谢!
答案 0 :(得分:0)
简单:
... WHERE galleryTypes IN ('flowers', 'mountains', 'sky')
可以使用 IF galleryTypes
只包含一个值。如果您在该字段中存储了多个值,那么您将进入一个非常非常难看的时间,并且最好不要了解database normalization。
答案 1 :(得分:0)
试试这个:
SELECT user FROM table WHERE galleryTypes LIKE '%flowers%' OR galleryTypes LIKE '%sky%'
但请注意现有的子串(例如,天空'也会匹配' skyline')!您可以通过将其存储为,flowers,mountains,sky,
(因此用逗号包围)来解决该问题并使用此查询:
SELECT user FROM table WHERE galleryTypes LIKE '%,flowers,%' OR galleryTypes LIKE '%,sky,%'