/ / Функцията за дата на PHP ми дава грешно време - php, mysql

Функцията за дата на PHP ми дава грешно време - php, mysql

Имам функция за 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");