gpt4 book ai didi

如果数组中的值存在于 mysql 中,Php 如何多次检查(在 `foreach` 内)?

转载 作者:可可西里 更新时间:2023-11-01 08:34:10 24 4
gpt4 key购买 nike

如果来自三个数组的值存在于三个 mysql 列中,如何多次检查(在 foreach 中)?

SELECT 的一种方式,获取整个列并使用列值创建数组。然后 (in_array($value_to_check[$i], $whole_mysql_column)

其他方式是多个 SELECT Column FROM Table WHERE Column = ??$value_to_check[$i]

假设两种方式都使用很多资源。有更好的方法吗?

最佳答案

为什么一开始就提出这么多问题?为什么不创建一个使用 IN 的大型 SQL 查询,例如

$sqlValuesToCheck = '(';
foreach ($value_to_check as $value) {
$sqlValueToCheck .= "'" . $mysqli->real_escape_string($value) . "',";
}
$sqlValueToCheck = rtrim($sqlValueToCheck, ',') . ')';

$result = $mysqli->query("SELECT `Column` FROM `Table` WHERE `Column` IN {$sqlValueToCheck}");

上面的代码将获取也在数组中的所有 `Table`.`Column` 值。您提到您想要检查 3 列...根据您希望如何使用结果,您可以使用 UNION 或简单地在 FROM 之前列出其他列。

关于如果数组中的值存在于 mysql 中,Php 如何多次检查(在 `foreach` 内)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18191094/

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