错误无法获取mysqli_result但无论如何都会获取它

时间:2013-08-09 18:00:24

标签: php mysql sql

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

警告: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();

1 个答案:

答案 0 :(得分: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将在脚本结束时释放它们。但是,手动指定它们是一种好习惯,但不能在循环中指定。