【发布时间】:2020-09-02 05:47:15
【问题描述】:
我在向表中插入数据时遇到问题。这是代码,非常简单。然而,它总是以“无法将任务插入任务表”而告终。我做错了什么? ... // 添加任务 if (isset($_POST['addtask']) && isset($_POST['tasks']) && $_POST['tasks'] == 1) {
//Check for empty fields
if (!empty('task_name') && $_POST['assigned'] != 0 && $_POST['task_type'] != 0) {
// Set vars
$entityid = $_POST['entityid'];
$task_name = $_POST['task_name'];
$task_status = $_POST['task_status'];
$assigned = $_POST['assigned'];
$createdby = $_POST['createdby'];
$tasktype = $_POST['task_type'];
$create_date = $_POST['create_date'];
$due_date = $_POST['due_date'];
$reminder_date = $_POST['reminder_date'];
$task_note = $_POST['task_note'];
// Create date and timestamp
$ctime = mktime(date("H"), date("i"), date("s"));
$cdate = date("H:i:s", $ctime);
// Reformat dates with time
$create_date = $create_date." ".$cdate;
$due_date = $due_date." ".$cdate;
$reminder_date = $reminder_date." ".$cdate;
//DB call
include_once("../inc/db_conn.php");
// db insert for tasks
$sqlinst = "INSERT INTO tasks(`entityid`,`task_name`,`task_status`,`assigned`,`createdby`,`task_type`,`create_date`,`due_ate`,`reminder_date`,`task_note`)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
if ($stmt = mysqli_prepare($conn, $sqlinst)) {
//Bind vars to prepend stmt as params
mysqli_stmt_bind_param($stmt, "isiiiissss", $entityid, $task_name, $task_status, $assigned, $createdby, $tasktype, $create_date, $due_date, $reminder_date, $task_note);
mysqli_stmt_execute($stmt);
// Send success msg
header("Location: ../add_task.php?succ=1");
} else {
echo "Could not insert task into tasks table";
die();
}
}
} else {
header("Location: ../index.php");
exit();
}
...
这是 var_dump($_POST) 的输出 array(12) { ["tasks"]=> string(1) "1" ["entityid"]=> string(1) "0" ["task_name"]=> string(9) "测试任务" [" task_status"]=> string(1) "2" ["assigned"]=> string(1) "4" ["createdby"]=> string(1) "1" ["task_type"]=> string(1 ) "4" ["create_date"]=> string(10) "2020-08-31" ["due_date"]=> string(10) "2020-09-03" ["reminder_date"]=> string(10 ) "2020-09-02" ["task_note"]=> string(9) "Test Test" ["addtask"]=> string(0) "" }
2020-08-31 01:58:49
2020-09-03 01:58:49
2020-09-02 01:58:49
【问题讨论】:
-
代码在哪里?
-
哦,对不起,我以为我把它贴在那里了,
-
现在好像显示了代码。
-
确保你配置了 mysqli to throw exceptions 这样你就可以看到它失败的原因。如果您收到“无法插入任务...”,那么您的绑定参数代码甚至不会被执行。准备失败。
-
哦,哇,我不知道,让我调查一下。