我收到以下错误消息:
致命错误:在第89行的/Applications/XAMPP/xamppfiles/htdocs/ict136/aaregistration/register/register.php中调用非对象的成员函数bind_param()
这是我的代码:
<?php include('header.php'); ?>
<!-- start of content -->
<div class="container">
<form role="form" action="" method="POST">
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4"><h3><center><strong>Member Registration</strong> </center></h3></div>
<div class="col-md-4"> </div>
</div>
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4"> <input type="text" required name="fullname" id="fullname" placeholder="enter full name"></div>
<div class="col-md-4"> </div>
</div>
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4"> <input type="text" required name="address" id="fullname" placeholder="enter address"></div>
<div class="col-md-4"> </div>
</div>
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4"><input type="email" required name="email" id="exampleInputEmail1" placeholder="Enter email"></div>
<div class="col-md-4"> </div>
</div>
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4"> <input type="date" required name="bday" id="exampleInputDate1" placeholder="(YYYY-MM-DD)"></div>
<div class="col-md-4"> </div>
</div>
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4"> <input type="password" required name="password" id="exampleInputPassword1" placeholder="Password"></div>
<div class="col-md-4"> </div>
</div>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4"> <button type="submit" name="submit" value="submit" class="btn btn-default">Submit</button></div>
<div class="col-md-4"></div>
</div
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4">
<?php
if(isset($_POST['submit'])){
echo "Thank you for registering ".$_POST['fullname']."!";
//assigning the values from the form to the variables after cleaning
$name=$_POST['fullname'];
$address=$_POST['address'];
$email=$_POST['email'];
$happybday=$_POST['bday'];
$pword=$_POST['password'];
//open a connection to the database
$con=mysqli_connect("localhost","root","","firstmatesales") ;
//checking if it is successful
if(mysqli_connect_errno())
{
//greater than 0 - has error
echo "<br/>Error connecting to database hehehe";
exit();
}else
{
//0 means false - no error
echo "<br/>Well played! connected to database!";
$sqlstmt="insert into firstmatesales(customername,customeraddress,customeremail,customerbirthday,password) values(?,?,?,?,?)";
//$name=$_POST['fullname'];
//$address=$_POST['address'];
//$email=$_POST['email'];
//$happybday=$POST['bday'];
//$pword=$_POST['password'];
$stmt=$con->prepare ($sqlstmt);
<!--line 89--> $stmt->bind_param('sssss', $name, $address, $email, $happybday, $pword);
$stmt->execute();
}
}
else
{
echo "please register your information";
}
?>
</div>
<div class="col-md-4"> </div>
</div>
</form>
</div>
<!-- end of content -->
<?php include('footer.php'); ?>
答案 0 :(得分:2)
你需要了解一些事情
Call to a member function bind_param() on a non-object
表示您尝试呼叫$stmt
的{{1}}不是对象。
为什么它不是一个对象?因为bind_param
没有返回对象。为什么不返回对象?
这意味着必定发生错误。您应该打开error_reporting
,这可能会告诉您,或者检查$mysqli->error()
,这也可能会告诉您。