mysqli_fetch_assoc в объекте - PullRequest
       5

mysqli_fetch_assoc в объекте

0 голосов
/ 06 мая 2018

как сделать массив в объекте или со стрелкой вправо. извините, я еще младший

это функция и работает

 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;
  }

ты можешь мне помочь? спасибо.

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Узнайте больше о инъекции sql. Вы должны подготовить и связать параметр как код выше. $ Stmt является только «оператором» или переменной.

0 голосов
/ 06 мая 2018

Возможно, вы уже решили это. Но в любом случае вот функция, которая проверяет, есть ли результат, прежде чем возвращать значение.

Эта функция возвращает 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-инъекций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...