繁体   English   中英

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

[英]how can I combine the results from two separate MYSQL databases?

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

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

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

你不能 但是你可以在 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不会被排序。 您可以使用usort()对其进行排序,如this other SO question中所述,适用于您的日期格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM