Php 当对两列使用mysqli_multi_查询时,排序工作不正常

Php 当对两列使用mysqli_multi_查询时,排序工作不正常,php,mysql,mysqli,Php,Mysql,Mysqli,我的代码是: $query = "SELECT * FROM `chat` WHERE fromthe = '$email' and tothe='theadmin' order by id desc;"; $query .= "SELECT * FROM `chat` WHERE fromthe = 'theadmin' and tothe='$email' order by id desc"; mysqli_multi_query($con

我的代码是:

$query = "SELECT * FROM  `chat` 
          WHERE fromthe =  '$email' and tothe='theadmin' order by id desc;";
$query .= "SELECT * FROM  `chat` 
          WHERE fromthe =  'theadmin' and tothe='$email' order by id desc";
mysqli_multi_query($con, $query);
使用此查询时,我会得到结果,但我的概念不起作用

概念是:
这是在php服务器上的聊天应用程序中使用的,我使用此查询来获取客户端和管理员之间的消息。我必须将此结果的
id
按降序排列

我看到的结果是:

它正在使用其
id
对管理员消息进行排序,并使用其
id
对客户端消息进行排序。我希望订单
id
是两个结果的降序。

可能需要基于UNION ALL的单个查询

$query = "SELECT * FROM  `chat` 
      WHERE fromthe =  '$email' and tothe='theadmin' 
      UNION ALL 
      SELECT * FROM  `chat` 
      WHERE fromthe =  'theadmin' and tothe='$email' order by id desc";
无论如何,您应该避免在sql中使用PHPVAR(您面临sqlinjection的风险)。。您应该看看准备好的语句和绑定参数