如何合并来自两个独立 MYSQL 数据库的结果?数据库位于不同的服务器上,它们包含相同的表但数据不同。
我想同时从两个数据库中获取项目列表,但按日期排序。
例如
$result = mysqli_query ($conn, "SELECT * FROM tab ORDER BY date");
$result2 = mysqli_query ($conn2, "SELECT * FROM tab ORDER BY date");
类似的东西
while ($row = mysqli_fetch_array ($result && $results2)) {...}
我知道这是不正确的,但只是为了想象我想要实现的目标。
如果这是不可能的,我还能如何实现这个结果?
答案 0 :(得分:0)
你不能。但是你可以在 PHP 中做到这一点。获得两个结果后,您必须在代码中对其进行排序。
$query1 = mysqli_query ($conn1, "SELECT * FROM tab");
$query2 = mysqli_query ($conn2, "SELECT * FROM tab");
$rows1 = mysqli_fetch_all($query1);
$rows2 = mysqli_fetch_all($query2);
$allRows = array_merge($rows1, $rows2);
请注意,$allRows
不会被排序。您可以使用 this other SO question 中所述的 usort()
对其进行排序,以适应您的日期格式。