2014-05-11 121 views
-3

我收到以下错误消息:致命错误:调用一个成员函数bind_param()

Fatal error: Call to a member function bind_param() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/ict136/aaregistration/register/register.php on line 89

这里是我的代码:

<?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'); ?> 
+1

添加错误报告给您的文件(S) '的error_reporting(E_ALL)的顶部; ini_set('display_errors',1); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);'如果你还没有这样做。 –

+0

帮助你什么? – TylerH

+0

您的表单标签的设置方式并不完整。 –

回答

2

你需要知道的东西

Call to a member function bind_param() on a non-object表示$stmt,您试图拨打bind_param,不是一个对象。

为什么它不是一个对象?因为$mysqli->prepare没有返回对象。为什么它不返回一个对象?

所以这意味着必须发生错误。你应该打开error_reporting,这可能会告诉你,或者检查$mysqli->error(),这可能会告诉你。

+1

非常感谢你,先生:) –

+1

即时通讯新编码先生,可以请你告诉我在哪里插入/把$ mysqli->错误()? –

+0

之前的错误行。意味着绑定参数之前 –

相关问题