我正在尝试使用 foreach 结果来显示一些评论,但似乎不起作用,必须打印在数据库上找到的每个评论的 ID 和文本包含评论 ID。
$revnr = $_GET['id'];
$result_rev = $mysqli -> query("SELECT * FROM `reviews` WHERE `ID_prod` = " .$revnr. " LIMIT 0 , 30");
$row_revs = mysqli_fetch_all($result_rev);
if ($row_revs == NULL) {
print '<p class="text-center">No Reviews!</p>';
} else {
foreach($row_revs as $row_rev){
$id_r = $row_rev['2'];
$id_c = $qls -> user_info[$id_r];
$ID_review = $row_rev['0'];
$ID_prod = $row_rev['1'];
$ID_user = $id_c;
$review = $row_rev['3'];
$stars = $row_rev['4'];
[...]
}
}
mysqli_free_result($result_rev);
?>
使用mysqli_fetch_all我可以获取所有内容并放入数组中。
您正在使用mysqli_fetch_assoc
它将在关联数组中返回结果。因此,您将使用字段名称作为键来读取结果。例如,如果您的表具有字段 id
,则可以使用 $row_rev['id'];
访问它。
如果你想使用索引,你可以使用mysqli_fetch_array
- 另请注意,在获取结果时你不需要引用数字,例如
$id_r = $row_rev[2];