1

所以我正在编写一小段代码,它获取查询结果并将其打印出来,但它也给了我这个:

警告:mysqli_result::fetch_assoc():无法在第 24 行的 /var/www/vhosts/apexfunrun.com/httpdocs/dev/timer.php 中获取 mysqli_result

    $query = "SELECT field_pep_rally_date_value FROM dr_content_type_school WHERE nid = '$schoolname'";

if ($result = $mysqli->query($query)) {    
while ($row = $result->fetch_assoc()) {
    $date = $row['field_pep_rally_date_value'];
    $date = str_replace('-', '/', $date);
        echo date('Y-m-d', strtotime($date));
        $result->close();
    }
}
$mysqli->close();
4

1 回答 1

3

$result->close();在循环里面。将它移到外面,如下所示:

if ($result = $mysqli->query($query)) {    
  while ($row = $result->fetch_assoc()) {
    $date = $row['field_pep_rally_date_value'];
    $date = str_replace('-', '/', $date);
    echo date('Y-m-d', strtotime($date));    
  }
  $result->close();
}

使用您拥有的代码,您肯定会$date在结果中看到第一个。

请注意,实际上没有必要关闭这些资源,因为 PHP 将在脚本结束时释放它们。然而,手动指定它们是一个好习惯,但不是在循环中。

于 2013-08-09T18:08:16.887 回答