我用来将从HTML表单派生的数据发布到MySQL数据库中的INSERT语句无法正确执行。 execute语句返回false。但是,不会发出错误消息。我真的不知道问题出在哪里。这是代码:
从表单输入数据:
$order_id = $_POST['order_id'];
$container_id = $_POST['container_id'];
$quantity = $_POST['quantity'];
$confirmation_date = $_POST['confirmation_date'];
SQL语句:
$query = "INSERT INTO confirmation (order_id, container_id, quantity, confirmation_date) VALUES (?, ?, ?, ?)";
if (!($stmt = mysqli_prepare($dbc, $query))) echo "Error 1";
if (!(mysqli_stmt_bind_param($stmt, "iiis", $order_id, $container_id, $quantity, $confirmation_date))) echo "Error 2";
if(!(mysqli_stmt_execute($stmt))) echo "Error 3";
$affected_rows = mysqli_stmt_affected_rows($stmt);
mysqli_stmt_close($stmt);
if(!$affected_rows == 1) {
echo mysqli_error($dbc);
mysqli_close($dbc);
}
受影响的行始终为0,并且不对数据库进行任何输入。
MySQL表名为“确认”。它有5列:
confirmation_id (primary, auto increment),
order_id (int(5)),
container_id (int(7)),
quantity (int(10)),
confirmation_date (date)
与数据库的连接有效,因为我已经在其他脚本中使用它了。