您好,我正在尝试使用 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/