对于你们中的一些人来说,这可能很容易,但我遇到了麻烦。如果查询数组中存在“$ my_id”,我需要执行一个mysql查询来检索数据。像这样的东西,或者想要达到同样结果的想法......
mysql_query("SELECT myArray FROM myTable WHERE my_id IN (myArray) LIMIT 1")
有什么想法吗?
修改
表中的数组由逗号
取消答案 0 :(得分:1)
mysql_query("SELECT myArray FROM myTable WHERE my_id IN ('".implode("', '", array_map('mysql_real_escape_string', $array))."') LIMIT 1");
修改强>
我想我知道你要做什么。您可以使用mysql LIKE,但它的效率非常低(它必须进行全表扫描)。您不应该在mysql中的一个字段中存储值列表。
您希望在实体之间创建一对多关系。因为你没有真正给我们提供太多信息,我们会将存储在你桌子中的实体称为foos。所以你有一个名为foos
的表来存储你的foos。每个foo都与许多条形关系,这些条形图当前存储在“数组”中。这称为一对多关系。这些栏需要在单独的表调用bars
中。您将每行存储一个条形图,并且每个条形图与一个foo相关联,因此您将foo的id与每个条形图存储在一起。如果您想找到与某个酒吧相关联的foos,您只需进行一次简单的加入。
如果可以在许多foos之间共享bar,则称为多对多映射。然后你需要一个表格用于foos,一个表格用于条形图,第三个表格用于将foos映射到条形图。然后,您可以搜索哪些foos与哪些条形相关联,哪些条形与哪些条形相关联。
答案 1 :(得分:0)