簡體   English   中英

日期值在html表單的Mysql數據庫中記錄為0000-00-00

[英]Date value recorded as 0000-00-00 in Mysql database from html form

我知道同樣的問題已被問過幾次,但我似乎無法繞過它。我已經完成了我找到的所有解決方案,但它不適用於我的情況。'日期'被記錄為毛坯在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>

我花了很多時間試圖解決這個問題,但都是徒勞的,請幫忙。請注意。

如果數據庫字段的數據類型是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']));

鑰匙上有空格

$Date = $_POST['Date '];

改為

$Date = $_POST['Date'];

傳遞參數的方式會導致SQL注入 在這里閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM