PHP日期函数给了我一个错误的时间

PHP日期函数给了我一个错误的时间,php,mysql,Php,Mysql,我有一个php datetime函数,用于将当前日期和时间插入mySQL数据库。然而,日期给出了正确的日期,但给出了错误的时间 下面是代码 /*获取bookking_时间字段的当前日期和时间*/ $booking\u time=新日期时间; $booking\u time=$booking\u time->formatY-m-d H:i:s; //创建连接 $con=newmysqli$servername、$username、$password、$dbname、3306; 如果$con->co

我有一个php datetime函数,用于将当前日期和时间插入mySQL数据库。然而,日期给出了正确的日期,但给出了错误的时间

下面是代码

/*获取bookking_时间字段的当前日期和时间*/ $booking\u time=新日期时间; $booking\u time=$booking\u time->formatY-m-d H:i:s; //创建连接 $con=newmysqli$servername、$username、$password、$dbname、3306; 如果$con->connect\u错误{ dieConnection失败:.$con->connect\u错误; } //mysql\u select\u db$数据库,$con; $sql=插入数据中心用户首名、姓氏、请求、目的、说明、预订时间、已批准 值“$first”、“$last”、“$request”、“$purpose”、“$description”、“$booking\u time”、“$approval”; 如果$con->query$sql===TRUE{ 回显成功创建的新记录; }否则{ 回显错误:.$sql..$con->错误; }
任何解决问题的建议

使用日期\默认\时区\设置,在脚本文件的最开头设置时区

假设我的时区是印度/马尔代夫,那么它就是

date_default_timezone_set('Indian/Maldives');

有关支持的时区列表,请参阅

,现在使用SQL语法获取日期和时间可能会更简单

$sql= "INSERT INTO data_centre_users 
       (fisrt_name,last_name,request,purpose,
        description,booking_time,approved)
       VALUES ('$first','$last','$request',
               '$purpose', '$description', NOW(), '$approval')"; 

您可能还把First\u的名字拼错了,但我不能确定。

首先检查您的日期\u默认\u时区\u设置;设置是否正确,然后尝试如下$booking_time=date'Y-m-d H:i:s'

您需要检查时区日期\u默认值\u时区\u获取时间有什么问题?@RowlandShaw:我肯定这是因为PHP设置的时间不同。请检查PHP.ini中配置的默认时区,或者为您的应用程序设置自定义时区。有时可能是你的服务器时间不正确。哇,他们终于有了拼写检查。Greatoh在马尔代夫工作不公平。如何避免潜水?可能值得检查MySQL服务器和PHP使用的时区。@RiggsFolly你不会相信,23年多了,仍然没有一次潜水