$query = "SELECT * FROM main";
if ($result = $db->query($query)) {
while ($row = $result->fetch_assoc()) {
$name= $row["name"];
$image = $row["image"];
}
}
然后我的代码中的某处使用echo $ name打印出来;但我只得到一个结果,这是最后一行。我知道我必须做foreach但我应该放什么变量?
foreach($result as $results)
?像这样?
答案 0 :(得分:2)
在每次迭代中,您将值重新分配给$name
和$image
,使其仅显示离开循环时的最后一个值。
您可以立即在循环中回显它们,或者使用它们填充数组或对象,以便稍后可用。
示例:
$data = array();
while ($row = $result->fetch_assoc()) {
$data[] = array('name'=>$row["name"], 'image'=>$row["image"]); // push into the array
}
var_dump($data); // it's all here now
为了回应以后的数据,其中一种方法是foreach:
foreach($data as $row) {
echo "Name: ", $row['name'], "; Image: ", $row['image];
}
答案 1 :(得分:0)
$query = "SELECT * FROM main";
$result = $db->query($query);
$row = $result->fetch_assoc();
foreach ($row as $rows) {
echo $rows['name'] ." ". $rows['image'];
}