SQL未按时间正确排序
一段时间后,消息不会根据时间正确显示 他们自己混合,有人能帮忙吗SQL未按时间正确排序,sql,mariadb,sql-order-by,Sql,Mariadb,Sql Order By,一段时间后,消息不会根据时间正确显示 他们自己混合,有人能帮忙吗 我的php时间格式$time=date('d-m-Y G:i:s')正如人们在评论中所说,最好在表中有正确的数据类型。但这就是生活,如果您不是DBA,并且必须处理这个字符串数据,那么可以使用STR_to_DATE()函数 $sql = "SELECT * FROM messages WHERE (from_user = :from_user AND to_user = :to_user) OR (from_user
我的php时间格式
$time=date('d-m-Y G:i:s')代码>正如人们在评论中所说,最好在表中有正确的数据类型。但这就是生活,如果您不是DBA,并且必须处理这个字符串数据,那么可以使用STR_to_DATE()函数
$sql = "SELECT * FROM messages WHERE (from_user = :from_user AND to_user = :to_user) OR
(from_user = :fromuser AND to_user = :touser) ORDER BY time ASC";
那么,时间数据库中的值是什么?你期望什么,你得到什么?如何检索此数据?数据库中时间的列定义是什么?如果它是VARCHAR并格式化为d-m-Y G:i:s
,那么您必须将其转换为最新时间并更改格式,因为它不是MySQL可以轻松解析的格式;您应该始终使用正确的数据类型。在varchar/text列中存储时间和日期总是会使其更难使用。酷,因为PDO是一个准备好的语句,它是否可以与PDO一起使用?@Developer是的,它应该。
$sql = "SELECT * FROM messages WHERE (from_user = :from_user AND to_user = :to_user) OR (from_user = :fromuser AND to_user = :touser) ORDER BY STR_TO_DATE(time,'%d-%m-%Y %H:%i:%s') ASC";