如何合并来自两个独立 MYSQL 数据库的结果?

时间:2021-02-10 21:03:32

标签: php mysql

如何合并来自两个独立 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)) {...}

我知道这是不正确的,但只是为了想象我想要实现的目标。

如果这是不可能的,我还能如何实现这个结果?

1 个答案:

答案 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() 对其进行排序,以适应您的日期格式。