gpt4 book ai didi

php - mysql查询数组检查

转载 作者:行者123 更新时间:2023-11-29 14:25:57 25 4
gpt4 key购买 nike

这对你们中的一些人来说可能很容易,但我遇到了麻烦。我需要执行一个 mysql 查询,如果查询数组中存在“$my_id”,该查询将检索数据。像这样的事情,或者达到相同结果的想法......

mysql_query("SELECT myArray FROM myTable WHERE my_id IN (myArray) LIMIT 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 与许多 bar 都有关系,这些 bar 当前存储在“数组”中。这称为一对多关系。这些条形需要位于一个单独的表中,称为 bars。您将每行存储一个 bar,并且每个 bar 与一个 foo 关联,因此您将 foo 的 id 与每个 bar 一起存储。如果您想查找哪些 foo 与某个栏关联,您只需执行一个简单的连接即可。

如果 bar 可以在多个 foo 之间共享,则称为多对多映射。然后,您需要一张用于 foos 的表,一张用于 bars 的表,以及第三个用于将 foos 映射到 bars 的表。然后您可以搜索哪些 foo 与哪些 bar 关联,以及哪些 bar 与哪些 foo 关联。

关于php - mysql查询数组检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10958225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com