我的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;
并输出正确的时间戳,如下所示:1492614559 但如果我做以下事情:
$timestampUnix2 = $timestampUnix;
echo $timestampUnix2;
根本没有回声输出......是什么原因? 我试过这个,因为我实际上只希望以其他格式回显日期:
date('d.m.Y', $timestampUnix)
并且它给了我01.01.1970并且我想知道为什么时间戳必须是0但它不是因为当我直接回声它它给我一个正确的。
然而当我做的时候
Date('d.m.Y', 1492614559)
它给了我正确的日期..不知道那里发生了什么! 我知道有很多关于mysql php Date输出的其他问题,但没有人有这个问题因为我认为我不能对我从查询得到的变量做些什么。
提前感谢!
编辑:我附上有问题的完整代码:
---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;