Php mysql代码显示错误数据的问题
我有一个sql代码,它应该显示旧数据,但问题是它显示unix时间戳之后的数据 这是我的sql代码: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
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
子句中的项目