Имам функция за php datetime, която се използва за вмъкване на текущата дата и час в mySQL базата данни. Датата обаче дава правилната дата, но грешен момент, всяко предложение.
По-долу е кодът.
/* Get Current Date and Time for the bookking_time field */
$booking_time=new DateTime();
$booking_time = $booking_time -> format("Y-m-d H:i:s");
// Create connection
$con = new mysqli($servername, $username, $password, $dbname , 3306);
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
//mysql_select_db("$database", $con);
$sql= "INSERT INTO data_centre_users (fisrt_name,last_name,request,purpose,description,booking_time,approved)
VALUES ("$first","$last","$request","$purpose","$description","$booking_time","$approval")";
if ($con->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $con->error;
}
всяко предложение за отстраняване на проблема
Отговори:
0 за отговор № 1Може да е по-просто да използвате SQL синтаксиса NOW()
за да получите дата и час.
$sql= "INSERT INTO data_centre_users
(fisrt_name,last_name,request,purpose,
description,booking_time,approved)
VALUES ("$first","$last","$request",
"$purpose", "$description", NOW(), "$approval")";
Може и да сте писали fisrt_name
погрешно, но не мога да знам това със сигурност.
2 за отговор № 2
Задайте часовата зона в самото начало на вашия скрипт, като използвате date_default_timezone_set ();
Да предположим, че в моя случай часовата зона е Индия / Малдиви, тогава би било
date_default_timezone_set("Indian/Maldives");
За списък на поддържаните часови зони вижте http://php.net/manual/en/timezones.php
0 за отговор № 3
Първо проверете вашия date_default_timezone_set();
е правилно зададено или не, тогава опитайте по този начин $booking_time = date("Y-m-d H:i:s");