日期值在html表单的Mysql数据库中记录为0000-00-00

问题描述 投票:0回答:2

我知道同样的问题已被问过几次,但我似乎无法绕过它。我已经完成了我找到的所有解决方案,但它不适用于我的情况。'日期'被记录为毛坯在Mysql数据库中而不是正确的date.Here是PHP代码

// initialize variables

$Vehicle_name = "";
$Vehicle_make = "";
$Vehicle_color="";
$Number_plate = "";
$Driver_name = "";
$Number_of_passengers = "";
$Date = "";
$Time = "";
$Security = "";


$id = 0;
$update = false;

if (isset($_POST['save'])) {

    $Vehicle_name = $_POST['Vehicle_name'];
    $Vehicle_make = $_POST['Vehicle_make'];
    $Vehicle_color = $_POST['Vehicle_color'];
    $Number_plate = $_POST['Number_plate'];
    $Driver_name = $_POST['Driver_name'];
    $Number_of_passengers = $_POST['Number_of_passengers'];
    $Date = $_POST['Date '];
    $Time = $_POST['Time'];
    $Security = $_POST['Security'];


    mysqli_query($db, "INSERT INTO vehicle (Vehicle_name,Vehicle_make,Vehicle_color,Number_plate,Driver_name,Number_of_passengers,Date,Time,Security ) VALUES ('$Vehicle_name','$Vehicle_make','$Vehicle_color','$Number_plate','$Driver_name','$Number_of_passengers','$Date','$Time','$Security ')"); 
    $_SESSION['message'] = "Car registered"; 
    header('location: welcome.php');
}`.

这也是日期文本框代码。

<div class="input-group"> <label>Date :</label> <input type="date" name="Date" value="" required="yes" > </div>

我花了很多时间试图解决这个问题,但都是徒劳的,请帮忙。请注意。

php mysql date textbox
2个回答
0
投票

如果数据库字段的数据类型是date,那么您可以更改下面的代码行

$Date = date('Y-m-d', strtotime($_POST['Date']));

如果数据库字段的数据类型是datetime,那么您可以更改下面的代码行

$Date = date('Y-m-d H:i:s', strtotime($_POST['Date']));

在这里,我可以看到你在另一个领域分开时间,然后你可以改变下面的代码行

$Time = date('H:i:s', strtotime($_POST['Time']));

0
投票

钥匙上有空格

$Date = $_POST['Date '];

改为

$Date = $_POST['Date'];

传递参数的方式会导致SQL注入。请阅读它here

© www.soinside.com 2019 - 2024. All rights reserved.