我正在尝试将数据输入数据库。我已经使用 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>";
}
?>
任何建议
缺少对mysqli_stmt_execute()
的调用,因此您的语句将永远不会被执行。
尝试将插入查询更改为
$insert_det = "INSERT INTO Cus_acc_details(CUS_Fname,CUS_Lname,Cus_Email,CUS_Phone) VALUES (?,?,?,?)";
$stmt = mysqli_prepare($dbc, $insert_det);
当您在占位符上声明它们时将它们混合在一起并将电子邮件转换为整数,但尝试将电话号码插入为电子邮件,反之亦然