gpt4 book ai didi

php - 我可以假设 PHP 的 time() 和 MySQL 的 NOW() 是一样的吗?

转载 作者:可可西里 更新时间:2023-11-01 08:34:06 25 4
gpt4 key购买 nike

我正在创建一个对象的实例,同时在 MySQL 数据库上使用 INSERT 查询。数据库中的表有一个名为 modified 的字段,只要插入/更改行,该字段就会自动更新。

当调用我的类的构造函数时,它将对象的属性设置为查询中使用的属性。我的问题是,我是否必须在新插入/更新的行上运行 SELECT 查询以获取其时间戳,或者我是否可以安全地假设 PHP 的 time() 函数会返回相同的值?

例如:

<?php
// Inside the __construct method of a class
static::query('
INSERT INTO `table` (
`name`,
`content`
)
VALUES
(
"name",
"content"
);
');
// During insertion, `modified` column is set to NOW()
$this->name = 'name';
$this->content = 'content';
$this->modified = time();
// Can I count on this being reflected properly?
?>

我能想到的只有两种可能性可以否定这一点:(1)数据库位于本地时间不同的服务器上; (2) 查询和调用 time() 函数之间的时间流逝(我严重怀疑这甚至会产生 1 秒的差异...)。

花费 SELECT 查询来获取更新的时间是否值得,还是我应该坚持调用 time() 函数并冒着下次选择行时,修改的 值可能与在我的应用程序中实例化时不同?

最佳答案

没有。

PHP 和 MySQL 可以在两个不同的服务器上运行,即使它们在同一台服务器上运行,时区也可以针对其中一个或另一个或两者进行错误配置。选择一个时间源,PHP 或 MySQL,然后独占使用它。

此外,许多托管公司不知道或不太关心他们的时钟,以至于他们知道如果没有正确配置 ntpd,他们往往会 float 。有些服务器每周 float 几秒钟,有些服务器每天 float 几分钟。

关于php - 我可以假设 PHP 的 time() 和 MySQL 的 NOW() 是一样的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com