2023-04-14 Fatal error: Call to a member function fetch_assoc() on a non-object in C:\wamp\www\work\user.php on line 860

发布时间 2023-04-14 23:54:36作者: 哎呦你可棒棒了

问题:php报错。

业务场景:使用update语句去更新数据库字段。

原因:update接收值不正确。

原代码:

$query = "UPDATE student SET date = now() WHERE id = $id";
$result = $mysqli->query($query2) or die($mysqli->error); // 问题出在这   
$data = $result->fetch_assoc();
  if ($data) {
      $ary = array('data' => '', 'msg' => '更新成功', 'status' => '0');
  } else {
      $ary = array('data' => '', 'msg' => '更新失败', 'status' => '1');
  }
  exit(JSON($ary));

修改后:

$query = "UPDATE student SET date = now() WHERE id = $id";
$result = $mysqli->query($query2); // 把or die($mysqli->error)删了
$data = $result->fetch_assoc();
  if ($data) {
      $ary = array('data' => '', 'msg' => '更新成功', 'status' => '0');
  } else {
      $ary = array('data' => '', 'msg' => '更新失败', 'status' => '1');
  }
  exit(JSON($ary));

问题就出在or die($mysqli->error)这里。但我还是不太明白,为什么select可以用or die($mysqli->error),而update就不行了呢,是因为我的$data判断有误吗?