Предупреждение: mysqli::prepare() [mysqli.prepare]: недопустимый объект или ресурс.Php

Кемеровские программисты php общаются здесь
Anonymous
Предупреждение: mysqli::prepare() [mysqli.prepare]: недопустимый объект или ресурс.

Сообщение Anonymous »

Когда я пытаюсь войти в систему, выдает ошибки:

Предупреждение: mysqli::prepare() [mysqli.prepare]: неверный объект или ресурс C:\mysqli rootfile-blahblahblah\includes\user.php в строке 41


Неустранимая ошибка: вызов функции-члена bind_param() для не-объекта в C:\rootfile-blahblahblah\includes\user.php в строке 43

В PHP 8 я получаю другую ошибку:

Неустранимая ошибка: необработанная ошибка: объект mysqli не полностью инициализирован

Вот код функции аутентификации

Код: Выделить всё

public static function authenticate($username, $password)
{
$pwdhasher = new PasswordHash(8, FALSE);
$hashed_pwd = $pwdhasher->HashPassword($password);

$db = new mysqli();
$stmt = $db->prepare("SELECT hashed_password FROM users WHERE username=? LIMIT 1");
if (!$stmt) die($db->error);
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($hashed_pwd);

if ($pwdhasher->CheckPassword($password, $hashed_pwd)) {
return true;
} else {
return false;
}
unset($pwdhasher);
}
И для страницы login.php, на которой выполняется функция: _

Код: Выделить всё

$username = $database->escape_value(trim($_POST['username']));
$password = $database->escape_value(trim($_POST['password']));

$user = User::find_by_id(1);
$found_user = User::authenticate($username, $password);

if ($found_user)
{
$session->login($found_user, $user);
$message = "You have Logged in.";
redirect_to("index.php");
}
else { $message = "Incorrect username/password."; }

}
Я много искал и пробовал много вещей, но безрезультатно.
Теперь вы видите, что я хочу, это проверить имя пользователя и хешированный пароль, которые находятся в базе данных, и войти в систему, если они верны. Я знаю, как проверитьPassword() и зашифровать его с помощью HashPassword, но я не могу найти, как заставить его аутентифицировать имя пользователя и пароль....

Вернуться в «Php»