这段代码是行不通的。
$queryProduct = $mysqli->prepare("SELECT productID FROM products WHERE productCat=?");
$queryProduct->bind_param('i', $id);
$queryProduct->execute();
$queryProduct->bind_result($productID);
while ($queryProduct->fetch())
{
smallBlockProduct($productID);
}
$queryProduct->close();
这给了我在调用 smallBlockProduct 的行上的错误“致命错误:在非对象中调用成员函数 fetch_assoc()”。
但是,如果我将函数 smallBlockProduct 更改为简单的 echo $productID; 它将遍历所有正确的结果。
我不能在 mysqli fetch 循环中调用函数吗?或者有没有一种特殊的方式来调用一个函数?
编辑:
错误实际上是在我正在调用的函数上。该函数执行另一个查询。
function smallBlockProduct($productID)
{
global $mysqli;
$query = "SELECT productName FROM products WHERE productID='$productID'";
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc())
{
$productName = $row['productName'];
echo $productName.'<br>';
}
}
那么现在,我不能在另一个查询中执行不同的查询吗?