不能从每一行回应不同

时间:2014-08-18 08:33:34

标签: php sql

我试图回应数据库中的一条信息。每行都有不同的值,我需要能够回显每个值。我这样做有些麻烦。我之前有过这个工作,但现在我得到了它。

$query = "SELECT itemName,defIndex,maxAmount,sellPrice,buyPrice,stock,image,type FROM priceStorage ORDER BY `itemname` ASC";
$result = mysqli_query($con,$query);
$resultSet = mysqli_fetch_array($result, MYSQLI_BOTH);
foreach ($resultSet as $id => $row) {
    echo $row["itemName"];
}

我知道这可能是愚蠢的事情,但我一直试图弄清楚几个小时而且不能。

2 个答案:

答案 0 :(得分:2)

来自docs

  

将结果行提取为关联行,数字数组或两者

mysqli_fetch_array获取一行,您应该执行以下操作:

while($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
  echo $row['itemName'];
}

通过这种方式,所有行都在while循环中获取并回显,如果这是您想要的,您还可以使用foreach迭代行值。

答案 1 :(得分:0)

改为使用while

while($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    echo $row['itemName'];
}

当您在结果上调用mysqli_fetch时,它只返回结果的单个条目。使用while会将该指针移动到结果集数组中,并依次将每个row作为关联数组返回