我正在为某人的仪表板工作,并且出现错误。我正在创建一个注册页面,它的作用是查看用户是否已经在数据库中,如果它是允许他们完成注册,但是当我提交时,它会创建此错误Fatal error: Call to a member function bind_param() on a non-object on line 8
Mysqli PHP致命错误:调用非对象上的成员函数bind_param()
继承人的PHP代码:
<?php
include"core/config.php";
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$email = $_POST['email'];
$check = $db->prepare("SELECT * FROM users WHERE username = :username");
$check->bind_param(":username",$username);
$check->execute();
echo $check->error;
$emailCheck = null;
$usernameCheck = null;
while($row = $check->fetch())
{
$emailCheck = $row['email'];
$usernameCheck = $row['username'];
}
if(!$email == $emailCheck)
{
echo 'Email doesn\'t exist!';
}else{
if(!$username == $usernameCheck)
{
echo 'Username doesn\'t exist!';
} else
{
$query = $db->prepare("SELECT * FROM users WHERE username = :username AND email = :email");
$query->bind_param(":username", $username);
$query->bind_param(":email", $email);
$query->execute();
$_SESSION['username'] = $username;
echo 'You have logged in, you will be redirected.';
echo '<META HTTP-EQUIV="REFRESH" CONTENT="5;URL=page to set password.">';
}
}
}
?>
表单代码:
<form class="no-margin" method="post">
<fieldset>
<div class="form-group no-margin">
<label for="username" >Username</label>
<div class="input-group input-group-lg">
<span class="input-group-addon">
</span>
<input id="username" type="username" name="username" class="form-control input-lg" placeholder="Username">
</div>
</div>
<div class="form-group">
<label for="Email" >Email</label>
<div class="input-group input-group-lg">
<span class="input-group-addon">
</span>
<input id="email" type="email" name="email" class="form-control input-lg"
placeholder="Email">
</div>
</div>
</fieldset>
<div class="form-actions">
<button type="submit" name="submit" class="btn btn-block btn-lg btn-danger">
</span>
<small>Submit</small>
</button>
<div class="forgot"><a href="not important">Not a member? Join here!</a></div>
</div>
</form>
你可以发布表单代码,看起来像'$ username'可能没有设置 – Chitowns24
我在第14行看不到bind_param()。你确定你发布了正确的代码吗? –
它可能源于你的'$ db' init行,因为查询看起来好像很好 –