PHP-Mysql表从不同的主机加入

Sit*_*nsu 4 php mysql

abc @ localhost(server)中的数据库abc_db中有一个表employee,xyz @ localhost(server)中的数据库xyz_db中有另一个表部门.如何使用php mysql连接加入表.我编写了以下代码,但它不生成任何资源ID.

$conn = mysql_connect("localhost","abc","abcdb");
$conn1 = mysql_connect("localhost","xyz","xyzdb");

$db_select=mysql_select_db("abc_db",$conn);
$db_select1=mysql_select_db("xyz_db",$conn1);

$sql="SELECT * FROM employee e LEFT JOIN department d ON e.department_id=d.id ";
$res=mysql_query($sql);
Run Code Online (Sandbox Code Playgroud)

Pis*_*3.0 7

您不能使用与数据库的不同连接来连接两个表,而不是来自PHP,也不能连接到MySQL服务器.(@RobertPitt有一个好处:你真的需要两个连接吗?可以在同一个主机上连接两个表,但在一个连接中的不同数据库中连接 - 假设你的连接具有访问两者的必要权限)

如果您可以控制一个或另一个数据库,则可以尝试设置联合表; 确保性能良好(如果数据库机器没有快速,低延迟的连接(即通过电缆直接连接),请不要打扰),并且有一长串限制.

可能的小恶魔:

  • 将表从一个服务器复制到另一个服务器(设置棘手)
  • 在PHP中手动"加入"它们(粗略,低效,但如果您无法控制数据库,那么几乎是您唯一的选择)