Php mysql时间戳输出为格式化日期不起作用
我的php脚本中有一个疯狂的现象。我在mysql表中将列定义为时间戳。我用函数填充它:Php mysql时间戳输出为格式化日期不起作用,php,mysql,date,time,Php,Mysql,Date,Time,我的php脚本中有一个疯狂的现象。我在mysql表中将列定义为时间戳。我用函数填充它: date("Y-m-d H:i:s"); 表中的数据如下所示:2017-04-19 17:08:45 当我再次以mysqli作为unix时间戳查询此列时: SELECT UNIX_TIMESTAMP (timestamp) as timestampUnix FROM posts 然后使用bind_result将结果绑定到变量$timestampUnix 我可以用 echo$timestampUnix 它会
date("Y-m-d H:i:s");
表中的数据如下所示:2017-04-19 17:08:45
当我再次以mysqli作为unix时间戳查询此列时:
SELECT UNIX_TIMESTAMP (timestamp) as timestampUnix FROM posts
然后使用bind_result将结果绑定到变量$timestampUnix
我可以用
echo$timestampUnix代码>
它会输出这样一个正确的时间戳:1492614559
但是,如果我执行以下操作:
$timestampUnix2 = $timestampUnix;
echo $timestampUnix2;
根本没有回声输出。。。原因是什么?
我尝试了这一点,因为我实际上只希望以其他格式回送日期:
date('d.m.Y', $timestampUnix)
它给了我1970年1月1日,我想知道为什么时间戳必须是0,但它不是,因为当我直接回显它时,它给了我一个正确的时间戳
但是当我这样做的时候
Date('d.m.Y', 1492614559)
它给了我正确的日期。。不知道那里发生了什么事!
我知道关于mysql php日期输出还有很多其他问题,但是没有人有这个问题,因为我认为我无法使用从查询中获得的变量
提前谢谢
编辑:我附上完整的问题代码:
---the query that inputs the data in the db----
$timestamp = date("Y-m-d H:i:s");
mysqli_query($mysqli,"INSERT INTO posts (timestamp)
VALUES ('$timestamp')");
---the query that fetches the data----
$results = $mysqli->prepare("SELECT UNIX_TIMESTAMP(timestamp) as timestampUnix FROM posts");
$results->execute(); //Execute prepared Query
$results->bind_result($timestampUnix); //bind variables to prepared statement
$postdate = date('d.m.Y',$timestampUnix)
echo $postdate;
你可以发布一个代码示例吗?是的,展示一下你在php中真正运行的东西!您的echo
s示例在普通代码中工作(测试:$a=1;echo$a;$b=$a;echo$b;
显示11
)。因此,请显示实际情况。不要使用echo
打印内容,请使用var\u dump()
。我附上了问题中的完整代码。您告诉我:表中的数据如下所示:2017-04-19 17:08:45,现在是时间戳还是日期时间类型列?你确定是时间戳吗?