Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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 mysql时间戳输出为格式化日期不起作用_Php_Mysql_Date_Time - Fatal编程技术网

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 它会

我的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)
它给了我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,现在是时间戳还是日期时间类型列?你确定是时间戳吗?