Я пытаюсь запустить несколько запросов в моей базе данных с помощью MySQLi. Это мой код:
$stmt = $mysqli->prepare('SELECT password FROM `users` WHERE username=? LIMIT 1'); $stmt->bind_param('s', $username); $stmt->execute(); $stmt->bind_result($hashedPass); $stmt->fetch(); /* Check the passwords match */ $pwdHasher = new PasswordHash(8, FALSE); if(!$pwdHasher->CheckPassword($password, $hashedPass)) exit; $stmt = $mysqli->prepare('SELECT u_id FROM `users` WHERE username=? LIMIT 1'); $stmt->bind_param('s', $username); $stmt->execute(); $stmt->bind_result($u_id); $stmt->fetch();
Но когда код запускается, я получаю эту ошибку:
Fatal error: Call to a member function bind_param() on a non-object in C:\wamp\www\ajax\login.php on line 42
Я проверил, что поля базы данных существуют, так что это не так. Первый запрос работает, он просто кажется вторым, который этого не делает. Я сам выполнил запрос в phpMyAdmin и успешно создал результирующий набор, поэтому я действительно не знаю, что случилось.
make возвращает false, если возникает ошибка. пытаться
$stmt = $mysqli->prepare('SELECT u_id FROM `users` WHERE username=? LIMIT 1'); if ($stmt === FALSE) { die ("Mysql Error: " . $mysqli->error); }
и должна отображаться некоторая ошибка mysql.