Php MYSQL从DB在数组中搜索ID

Php MYSQL从DB在数组中搜索ID,php,mysql,sql,arrays,search,Php,Mysql,Sql,Arrays,Search,我已经搜索过了,但我发现的一切都与我需要的相反 我有一个数据库,其中一个字段是一个ID字符串,我想在数据库中已有的数组中搜索某个ID 例如,在数据库中,它如下所示: ID Title Spots Used 1 test 1 1,3,5,8 2 test 2 4,2,5,6,7 3 test 3 3,5,2,1 我需要搜索使用了多少活动,其中具有ID为2的点应该返回测试2和测试3 最好的办法是什么?到目前为止,我可以查询整个内容,逐行运行,并

我已经搜索过了,但我发现的一切都与我需要的相反

我有一个数据库,其中一个字段是一个ID字符串,我想在数据库中已有的数组中搜索某个ID

例如,在数据库中,它如下所示:

ID    Title    Spots Used
 1    test 1    1,3,5,8
 2    test 2    4,2,5,6,7
 3    test 3    3,5,2,1
我需要搜索使用了多少活动,其中具有ID为2的点应该返回测试2和测试3

最好的办法是什么?到目前为止,我可以查询整个内容,逐行运行,并对数字进行strpos搜索,但问题是,当我上传的位置超过10个时,1将返回1、10、11、12、13等


如果我需要提供更多信息,请告诉我。

如果这些ID以逗号分隔的形式存储,那么您可以使用

但是,如果您能够更改模式,然后首先规范化表结构,那么存储逗号分隔的值是个坏主意


您可以将所有内容都放在一个表中,但拜托,关系数据库有什么好处

再创建两个表,一个是Spotid,spot\u number,另一个是活动,Spotid\u活动,id\u spot,然后让sql引擎通过查询来完成,这种方式效率更高,而且您将使用正确的数据库关系

那么问题就来了

select count(*) from campaign_spot where id_spot= X (whatever number you want).

比如说,从使用了2个IN点的活动中选择*,或者什么?使数据库正常化,这将非常有帮助。所以,我可以在IN子句中使用一个字段?我在我读过的任何文档中都找不到我能做到的。@Fred ii-你看过数据了吗?他不是试图查找与值数组匹配的字段,而是在包含逗号分隔的值列表的字段中查找值。我的错误@GolezTrol谢谢你指出这一点。评论被删除了。看起来这样做有效!我挣扎了一个多小时。Thanks@BrianLogan:这将暂时起作用,但您确实需要查看最后一个链接。这样可以省去很多麻烦。
select count(*) from campaign_spot where id_spot= X (whatever number you want).