首页 > 解决方案 > 尝试将日期插入数据库时​​如何修复“不正确的日期值:第 1 行的列‘StartDate’的‘2020’”

问题描述

所以我试图从一个表单中插入数据,一个id、2个日期、一个字符串和一个小数。但它给出了上面的错误。

列是:ID:int、startdate:Date、enddate:Date、number:int、string、Decimal。

我已经尝试添加所有这些date()功能和strtodate()类似的东西,但没有任何效果。

if (isset($_POST['submitReservation'])) {
    $startDate = $_POST['startDate'];
    $endDate = $_POST['endDate'];

    $linens = mysqli_real_escape_string($conn, $_POST['linens']);
    $peopleAmount = mysqli_real_escape_string($conn, $_POST['persons']);
    $number = 50;
    $userID = $_SESSION["UserID"];

    $sql = $conn->prepare("INSERT INTO reservation (TenantId, StartDate, EndDate, Number_Of_Persons, Linens, Cost) VALUES (?, ?, ?, ?, ?, ?)");
    $sql->bind_param("iiiisd", $userID, $startDate, $endDate, $peopleAmount, $linens, $number);
    $sql->execute() or die(mysqli_error($conn));
}

标签: phpmysqlmysqli

解决方案


您正在将日期转换为 int $sql->bind_param("iiiisd"

编辑:MySQL 需要一个字符串,所以试试$sql->bind_param("issisd"


推荐阅读