繁体   English   中英

如何从mysql数据库查询中不匹配的php数组中获取值

[英]How to get the values from php array not matching in mysql database query

我有一个 php 数组列表。

1  
2
3
4
5

我想获取不满足 mysql 查询的元素列表。 (即其中 mysql 没有与所需的 db 列匹配的数组值)。 db 列:db_value 假设有以下内容。

1
3
5
8

这里$output给出匹配的查询输出。

1
3
5

我需要那个补充。

2
4

这是我的代码:

<?php
foreach ($array as $value)
{
    $query = "SELECT * FROM db WHERE db_value="$value";";
    $result = $conn->query($query);
    while($row = $result->fetch_array())
    {
        $output=$row[db_value];
    }
}
?>

第一种方法

$listArray = [1, 2, 3, 4, 5]; // our list which is to be match from db

$myArray = implode(",", $listArray); // array to string 

$query = "SELECT * FROM db WHERE db_value NOT IN ($myArray)"; 

现在$query将返回您想要的输出

方法二

$query = "SELECT * FROM db"; // get all from database 

$db_value = array_column($query['db_values']); // suppose $query have database output 

现在使用array_diff()函数获取两个数组之间的不同

$result = array_diff($db_value, $listArray); // gives you desired output 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM