我尝试将表单提交到我的数据库,但我的数据库始终返回此错误消息:
列数与第1行的值计数不匹配
我已经找到了解决这个问题的方案,但我无法找到合适的解决方案。
这是我的代码:
$email = mysqli_real_escape_string($conn, $_POST["email"]);
$message = mysqli_real_escape_string($conn, $_POST["message"]);
echo "<script>alert('$message $email');</script>";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "INSERT INTO messages (email, message)
VALUES ('$email', '$message');";
答案 0 :(得分:2)
您尝试在连接之前使用需要连接的转义功能;这是行不通的。首先放置连接,然后放置其余代码,然后查询。
$conn = new mysqli($servername, $username, $password, $dbname);
$email = mysqli_real_escape_string($conn, $_POST["email"]);
$message = mysqli_real_escape_string($conn, $_POST["message"]);
echo "<script>alert('$message $email');</script>";
$sql = "INSERT INTO messages (email, message)
VALUES ('$email', '$message');";
if(mysqli_query($conn, $sql)){
echo "Success";
}else{
echo "Error: " . mysqli_error($conn);
}
还使用准备好的声明:
并通过PHP检查错误并报告错误,并确保所有POST数组都有值。