Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP/PDO将10分钟的时间添加到MySQL数据库中_Php_Mysql_Time_Pdo - Fatal编程技术网

使用PHP/PDO将10分钟的时间添加到MySQL数据库中

使用PHP/PDO将10分钟的时间添加到MySQL数据库中,php,mysql,time,pdo,Php,Mysql,Time,Pdo,我想在db中添加一行,未来的时间量为“x”(每行不同)。我已经浏览了每一个教程/帮助/通过谷歌可以找到的任何东西,但似乎没有任何帮助 据我所知,最好的方法是使用MySQL SELECT ADDTIME(now(), '00:10:00') 但我如何才能真正做到这一点: $new_row = $db->prepare("INSERT INTO table (field1, field2, time) VALUES(?, ?,?)"); $new_row->execute(array

我想在db中添加一行,未来的时间量为“x”(每行不同)。我已经浏览了每一个教程/帮助/通过谷歌可以找到的任何东西,但似乎没有任何帮助

据我所知,最好的方法是使用MySQL

SELECT ADDTIME(now(), '00:10:00')
但我如何才能真正做到这一点:

$new_row = $db->prepare("INSERT INTO table (field1, field2, time) VALUES(?, ?,?)");

$new_row->execute(array($field1, $field2, $timeintenminutes)) or dieWithDBError($new_row);

时间的列类型是什么

在PHP中,您可以简单地执行
$addasome=time()+60从现在起将增加1分钟

我想你想用它来代替MySQL表的更新吗?如果您想使用MySQL更新查询,可以使用
updateyourtable SET valuet=(ADDTIME(now(),'00:10:00'),其中id=$id

$future_time = date("Y-m-d H:i:s",time()+60*10);

这将为您增加10分钟的时间。

未经测试,但您是否尝试过:

$new_row = $db->prepare("INSERT INTO table (field1, field2, time) VALUES(?, ?, ADDTIME(NOW(), '00:10:00'))");
$new_row->execute(array($field1, $field2)) or dieWithDBError($new_row);
在Php中,strotime()将为time或date添加值

$1hrInFuture = strtotime('now +1 hours');
STR2时间(现在);现在将理解为服务器的当前时间,并将添加1小时,您可以添加+1周、+1个月……等等

要使其格式正确,请使用日期:

$1hrInFutureF = date('Y-m-d H:i:s',$1hrInFuture);
此示例将获取当前服务器的日期,并将其添加1小时

注意:在标准时间中不使用“now”将生成日期“1970年1月1日00:00:00 UTC”; 现在,您可以从数据库中获取日期,将其插入到strotime中,向其添加1小时,按您想要的方式格式化,然后将其插入回新列

对于mysql和服务器之间的不同时区,您可以在该数据库中创建一列,在插入的行中设置随机dom哈希,选择该行的正常\u日期,并使用当前\u时间戳和随机数插入+1小时日期

INSERT INTO X (title,rnd_nb) VALUES ('titke','rnd_nb);
SELECT ID FROM X WHERE rnd_nb = $rnd_nb(php variable inside the function);
UPDATE `x` SET (1hrplus_date='$the_variable_containing_the_future_time') WHERE id='the_id_grabbed_from_the_second_query);
因此,如果您看到,我们在那里插入了一个随机数,如果它是currenttimestamp,它将自动添加current_time_stamp..etc并选择包含该数字的行,获取其id,然后获取currenttimestamp,将其放入strotTime函数中,向其添加1小时,更新该行,并使用strotTime输出设置+1hr列


希望这是有用的:)

但是如果数据库服务器在与PHP服务器不同的时间或时区上运行该怎么办呢
你的意思是说你需要在用户的时区中添加时间?不,我说的是,在我们的系统中,我们的MySQL服务器在GMT上运行,而我们的PHP服务器在本地时间(GMT+12)上运行,所以时间是不同的。(这只是一个警告,并不是每个人都这样)嗯,我明白你的担心。但我从来没有遇到过这样的问题。你对这个@Petah有什么建议吗?为什么你要用“或死()”来破坏你的答案?@Brandon_R,因为我在问题的上下文中给出了答案。