2016-03-21 190 views
-1

我正在尝试将数据输入到数据库中。 我已经使用echo来查看数据库是否正在读取,它是否和数据库回显一样输入,它只是不插入到数据库中。这是我用于注册页面的相同代码,除了一个新的修正,我的注册页面完美工作,所以我有点困惑,为什么它不工作。PHP - 插入数据库问题

HTML

  <!--     <div id="first">--> 
      <input type="text" id="fname" name="fname" value="" required> 
      <input type="text" id="lname" name="lname" value="" required> 
      <input type="text" id="email" name="email" value="" required> 
      <input type="number" id="phone" name="phone" value="" required> 
      <input type="submit" name="Update" value="Update"> 
      <br> 

PHP

<?php 
    session_start(); 
    require('../mysql.inc.php'); 
    ?> 

    <?php 
     if (isset($_POST['Update'])) { 
      echo $c_fname = $_POST['fname']; 
      echo $c_lname = $_POST['lname']; 
      echo $c_email = $_POST['email']; 
      echo $c_phone = $_POST['phone']; 



      $insert_det = "INSERT INTO Cus_acc_details(CUS_Fname,CUS_Lname,CUS_Phone,Cus_Email) VALUES (?,?,?,?)"; 
      $stmt = mysqli_prepare($dbc, $insert_det); 

      mysqli_stmt_bind_param($stmt, 'sssi', $c_fname, $c_lname, $c_email, $c_phone); 

      if ($insert_det) { 
       echo " Saved"; 
      } 
     } else { 
      echo "<b> Error </b>"; 
     } 
     ?> 

任何建议

+0

在继续插入数据库之前,您应该确实检查是否实际设置了“$ _POST ['####']”。 – Xorifelse

回答

5

mysqli_stmt_execute()呼叫丢失,因此,你的语句将不会被执行。

+1

该死的ez点 – Jonathan

1

试着改变你的插入查询到

$insert_det = "INSERT INTO Cus_acc_details(CUS_Fname,CUS_Lname,Cus_Email,CUS_Phone) VALUES (?,?,?,?)"; 
$stmt = mysqli_prepare($dbc, $insert_det); 

当你在他们的占位符声明时,他们混合起来,是铸造电子邮件作为一个整数,而是试图插入手机号码作为电子邮件,反之亦然

+0

谢谢你没注意到 – jerneva