php - 为 MySQLi 插入查询设置时区

标签 php mysql sql mysqli

我想设置插入记录的自定义时区。我尝试过如下设置时区,但它没有设置我的自定义时区,而是设置 NOW() 的服务器时区。我不明白为什么会发生。如果有人可以帮助我,请告诉我。

<?php
function storeMessage($contact, $message, $reply) {
require("includes/conf.php");
date_default_timezone_set("Asia/Kolkata");
$contact = '+'. $contact;
$stmt = $conn->prepare("INSERT INTO messages (number, message, reply, time) VALUES(?, ?, ?, NOW())");
$stmt->bind_param("sss", $contact, $message, $reply);
$stmt->execute();
$stmt->close();
 }
?>

谢谢

最佳答案

MySQL 取决于托管在那里的服务器所使用的时区,一种常见的解决方案是以 GMT 格式存储时间,然后在代码中将适当的时区偏移添加到记录中。

希望这有帮助。

关于php - 为 MySQLi 插入查询设置时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51835980/

相关文章:

php - 将序列化数组作为字符串进行搜索是否安全? (MySql查询)

php - Symfony/Doctrine "refers to the owning side field which does not exist"- 但类中存在属性

php - 在使用 Paginator 的查询中组合聚合字段(group by)和排序(order by)时,Doctrine 会生成不正确的 SQL

c# - ASP.NET - 使用字符串 ID 和 2 个键查询表

php - 删除空格后选择唯一数据

sql - 审查代码中 SQL 代码的含义

php - 如何使用 PDO 获取 INSERT ON DUPLICATE 影响的行数?

MySQL SELECT + LEFT JOIN + IF 查询

mysql - SQL 删除重复项 - 保留已删除的 ID

php - 如何避免选择所有行显示相同值的列(SQL 查询)