php - in_array 函数的一些问题

标签 php mysql mysqli

您好,我正在尝试使用 in_array,我认为我的语法是正确的, 但它说“第二个参数的数据类型错误”

我的代码是

$result = mysqli_query($con, "SELECT * FROM Products WHERE Quantity_On_Hand < Min_Stock");
$filter = mysqli_query($con, "SELECT ProductID FROM Orders");

while($row = mysqli_fetch_array($result))
    {
    if (in_array($row['ProductID'], $filter))
        {
        }
    }

我的想法是找出 Products 表中的 ProductID 是否在订单表中。

有人可以帮助我吗,谢谢:-)

最佳答案

$filter 不是数组;这是一个 mysqli_result 对象:

$filter = mysqli_query($con, "SELECT ProductID FROM Orders");

我认为您想对其进行迭代,将每个 ProductID 添加到一个新数组,然后将该数组传递给 in_array 函数,如下所示:

$filter = mysqli_query($con, "SELECT ProductID FROM Orders");

$product_ids = array();

while ($row = $filter->fetch_assoc())
{
    $product_ids[] = $row['ProductID'];
}

$result = mysqli_query($con, "SELECT * FROM Products WHERE Quantity_On_Hand < Min_Stock");

while($row = mysqli_fetch_array($result))
{

    if (in_array($row['ProductID'], $product_ids))
    {

    }

}

关于php - in_array 函数的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724301/

相关文章:

PHP 到 MySQL SSL 连接

php - 获取mysql自增id

sql - 这个SQL怎么会错呢?我没看到什么?

mysql - 从 MyISAM 迁移到 InnoDB

php - MySQLi 查询循环遍历数组并更新多行

php - Mysql 获取不工作

php - 如何在 Magento SOAP 中使用两个日期范围过滤器

php url/rest bool 逻辑解析器

php - 使用 php 为子域设置 cookie 不起作用

javascript - PHP/JS : Summarize ajax requests