我正在尝试使用MySQL查询的结果填充列表框。这是我尝试过的:
<select>
<?php
$type = "processors";
$stmt2 = mysqli_prepare($link, "SELECT id, name, price FROM products WHERE type=?");
$stmt2->bind_param("s", $type);
$stmt2->execute();
echo "<select class name='productlist'>";
$stmt2->bind_result($products_id, $products_name, $products_price);
while($stmt2->fetch()){
echo "<option value='".$row[$products_id]."'>".$row[$products_name]."</option>";
}
$stmt2->close();
?>
</select>
我在此行有一个错误:
echo "<option value='".$row[$products_id]."'>".$row[$products_name]."</option>";
错误:
注意:未定义的变量:行
这应该将数据加载到列表框中;但是,没有数据被填充,因为我有上述错误。我怎样才能解决这个问题?谢谢。
答案 0 :(得分:1)
您将查询结果绑定到标量变量,因此现在您所要做的就是使用它们。您的代码中没有$row
。
$stmt2->bind_result($products_id, $products_name, $products_price);
while($stmt2->fetch()){
echo "<option value='$products_id'>$products_name</option>";
}
$stmt2->close();
?>