5
MySQLi를 사용하여 데이터베이스에서 여러 쿼리를 실행하려고합니다. 이건 내 코드입니다 : 그것은 그하지 그래서 내가, 데이터베이스 필드가 존재 함을 확인했다MySQLi에서 prepared statements false를 반환했습니다.
Fatal error: Call to a member function bind_param() on a non-object in C:\wamp\www\ajax\login.php on line 42
:
$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();
그러나 코드는 내가이 오류가 실행될 때. 첫 번째 쿼리가 작동하지만 두 번째 쿼리가 아닌 것 같습니다. 필자는 phpMyAdmin에서 자체적으로 쿼리를 실행 했으므로 성공적으로 결과 집합을 생성하므로 실제로 무엇이 잘못되었는지 알지 못합니다.
'bind_param()'호출은 무엇입니까? 첫 번째 암호 또는'user_id' 필드의 두 번째 암호? 왜 단 하나의 쿼리 만 사용합니까? – Progman