Я пытаюсь найти альтернативу моему методу извлечения всех данных в функции для конкретного пользователя, где их сеанс равен их имени пользователя.
Он работал нормально, пока я не переехал на хостинг и теперь выдает ошибки. Следующий код — это то, что я использовал на своем старом хостинге, когда он работал нормально:
$username = 'Benza';
$query = "SELECT id, username, password, email, ip, lastonline, rank, register_time FROM users_ WHERE username = '$username'";
$result = $con->query($query);
return $result->fetch_all();
Это говорит: Call to a member function fetch_all() on boolean
,
И когда я пытаюсь что-то вроде:
$username = 'Admin';
$query = "SELECT id, username, password, email, ip, lastonline, rank,
register_time FROM users_ WHERE username = '$username'";
$result = $con->query($query);
$data = mysqli_fetch_all($result,MYSQLI_ASSOC);
return $data;
я получил
Warning: mysqli_fetch_all() expects parameter 1 to be mysqli_result, boolean given
Warning: Invalid argument supplied for foreach()
Я вызываю свои функции foreach, как показано ниже (потому что приведенный выше код находится в функции того же класса):
$users = $this->grabUserInfos($con);
foreach ($users as $user) {
$username = $user[1];
$email = $user[3];
}
Кажется, проблема в том, что часть, где выполняется запрос, больше не работает:
$result = $con->query($query);
Тот факт, что у вас логическое значение в $ result, означает, что с функцией запроса что-то пошло не так. Из-за этого функции fetch_all и mysqli_fetch_all () могут работать некорректно.
Вы должны взглянуть на эту часть и выяснить, почему запрос не выполняется.
Других решений пока нет …