PHP MySQLi : 未初始化的字符串偏移量


PHP MySQLi : Uninitializaed String offset

我正在尝试使用 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];