对象中的mysqli_fetch_assoc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象中的mysqli_fetch_assoc相关的知识,希望对你有一定的参考价值。

如何在对象中使用数组或使用向右箭头。对不起,我还是个大三学生

这是功能和工作

 function check_level($id) {

  global $connect;
  $query  = "SELECT level FROM s_user WHERE id='$id'";
  $result = $connect->query($query);
  $level  = mysqli_fetch_assoc($result) ['level'];

  return $level;
  }

我尝试这样但是错误,idk如何在对象中进行数组

function check_level($id) {

  global $connect;
  $query  = "SELECT level FROM s_user WHERE id='$id'";
  $result = $connect->query($query);
  $level  = $result->fetch_object(['level']);



  return $level;
  }

你能帮助我吗 ?谢谢。

答案

你可能已经解决了。但无论如何,这是函数,它在返回值之前检查是否有结果。

如果没有检索到记录,则此函数返回NULL。

function check_level($id) {
  global $connect;
  $level = NULL;

  $stmt = $connect->prepare("SELECT level FROM s_user WHERE id= ?");
  $stmt->bind_param("i", $id);
  $stmt->execute();
  $result = $stmt->get_result();

  if($result){
      if($result->num_rows > 0){
          $row = $result->fetch_object();
          $level = $row->level; // this
      }
  }
  else {
      echo "MySQL Error: ".$connect->error;
  }
  return $level;
}

该函数还使用预准备语句来防止sql注入攻击。

另一答案

阅读有关sql注入的更多信息。您必须准备并绑定参数作为上面的代码。 $ stmt只是“声明”或变量。

以上是关于对象中的mysqli_fetch_assoc的主要内容,如果未能解决你的问题,请参考以下文章