Php mysql代码显示错误数据的问题

Php mysql代码显示错误数据的问题,php,mysql,date,time,Php,Mysql,Date,Time,我有一个sql代码,它应该显示旧数据,但问题是它显示unix时间戳之后的数据 这是我的sql代码: SELECT p . * FROM posts p LEFT JOIN following f ON f.follower_id =1 AND p.post_user_id = f.user_id WHERE post_user_id =1 OR f.user_id IS NOT NULL AND post_time < FROM_UNIXTIME( 1374634418 ) ORDE

我有一个sql代码,它应该显示旧数据,但问题是它显示unix时间戳之后的数据

这是我的sql代码:

SELECT p . * 
FROM posts p
LEFT JOIN following f ON f.follower_id =1
AND p.post_user_id = f.user_id
WHERE post_user_id =1
OR f.user_id IS NOT NULL 
AND post_time < FROM_UNIXTIME( 1374634418 ) 
ORDER BY  `post_id` DESC 
LIMIT 10
选择p.*
从邮政p
f上f后的左连接。跟随者id=1
p.post\u user\u id=f.user\u id
其中post\u user\u id=1
或f.user_id不为空
和post_time
这是我收到的邮寄时间:


实际上,它不应该显示2013-07-2402:53:38之后的日期。FROM_UNIXTIME中的日期是使用php中strotime()的上一个查询的最后一个值生成的。

绑定比
更难,因此您的WHERE条件变为

WHERE post_user_id =1
   OR (f.user_id IS NOT NULL AND post_time < FROM_UNIXTIME( 1374634418 ))
其中post\u user\u id=1
或者(f.user_id不为NULL,post_time
…如果post_user_id为1,则很可能返回较新的行

您可能需要添加一些括号

WHERE (post_user_id =1 OR f.user_id IS NOT NULL)
  AND post_time < FROM_UNIXTIME( 1374634418 ) 
其中(post\u user\u id=1或f.user\u id不为空)
和post_time
更难绑定,所以你的WHERE条件变成了

WHERE post_user_id =1
   OR (f.user_id IS NOT NULL AND post_time < FROM_UNIXTIME( 1374634418 ))
其中post\u user\u id=1
或者(f.user_id不为NULL,post_time
…如果post_user_id为1,则很可能返回较新的行

您可能需要添加一些括号

WHERE (post_user_id =1 OR f.user_id IS NOT NULL)
  AND post_time < FROM_UNIXTIME( 1374634418 ) 
其中(post\u user\u id=1或f.user\u id不为空)
和post_time
mysql没有问题。。 它的发行带有你提供的时间戳

echo $time = date("Y/m/d h:i:s ",1374634418);
它回来了

2013/07/23 10:53:38 PM

mysql没有问题。。 它的发行带有你提供的时间戳

echo $time = date("Y/m/d h:i:s ",1374634418);
它回来了

2013/07/23 10:53:38 PM

试着用大括号
()
清楚地提到你的
where
子句中的项目。试着用大括号
()
清楚地提到你的
where
子句中的项目