PHP - 插入数据库问题

时间:2016-03-21 22:42:42

标签: php mysql forms sql-insert

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

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>";
        }
        ?>

任何建议

2 个答案:

答案 0 :(得分:5)

缺少对mysqli_stmt_execute()的调用,因此您的语句将永远不会被执行。

答案 1 :(得分:1)

尝试将插入查询更改为

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

当您在占位符上声明它们并将电子邮件作为整数投射但尝试将电话号码作为电子邮件插入时反之亦然