php - 检查数组值是否存在于 mysql 表中

标签 php mysql arrays

我需要检查包含超过 400 个值的数组值,这些值存在于 MySQL 表中,我应该在其中获取我传递的所有值的结果,即使它不存在于列中。

例如:

cont table
----------
Column1                  
---------             

9xxxxxxxxx

91xxxxxxxx

92xxxxxxxx

我的数组包含 9xxxxxxxxx91xxxxxxxx。我如何迭代才能确定该列是否存在。

我尝试使用 foreach 并构建查询

$sql = 'SELECT cont WHERE num IN(';

foreach($jsonString as $val){ 

$sql = $sql . "'$val', ";

echo $val;

}

if(mysqli_query($con,$sql)){  
    echo "exist";
}else {
    echo "error";
}

有没有比上面更快的有效方法?

最佳答案

首先,如果 cont 是您的表名而不是 FROM 关键字。

如果 cont 是列名,那么 TABLE 名在哪里?

根据您的问题,您有 400 多个 ID,为什么要在这里使用循环?你可以简单地使用 implode() 和逗号分隔值,比如

<?php
$ids = implode(",",$jsonString);
$sql = "SELECT * FROM cont WHERE num IN ($ids)"; // assuming cont is table name
?>

在您的循环中,您将在末尾的最后一次迭代中获得“,”,这将中断您的查询。

关于php - 检查数组值是否存在于 mysql 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40654955/

相关文章:

php - 使用 PHP 进行 MySQL 多用户多表查询

php - 从 wordpress 安装运行 exec() Rscript

javascript - 获取 php 日期并在 javascript 中使用 date()

php - laravel4 通过关系(一对多)从其他表中选择所有数据

java - Android 连接到 http 服务器 : Eclipse throws exception about localhost even though I state my online server?

java - Spring hibernate 不需要的时区调整

php - Mysql如果数据存在则不再插入

javascript - 通过 JavaScript 中的字符串数组从对象中提取键和值

javascript - array.push 后数组元素未定义

arrays - 查找数组的所有键唯一排列