即使我的值与我的列匹配,列计数也不匹配值计数

时间:2018-02-18 14:25:02

标签: php html sql forms

我尝试将表单提交到我的数据库,但我的数据库始终返回此错误消息:

  

列数与第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');";

1 个答案:

答案 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数组都有值。