You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP在phpMyAdmin中同时连接多个数据库?附现有连接场景

PHP同时连接多个数据库的实现方法

首先得澄清一下:phpMyAdmin是用来可视化管理MySQL数据库的网页工具,你要实现的应该是用PHP代码同时连接并操作多个MySQL数据库对吧?答案是肯定的,PHP完全支持同时创建多个数据库连接,不管这些数据库在同一台服务器还是不同服务器上,都有对应的实现方式,下面结合你的场景来具体讲解:

情况1:连接同一MySQL服务器下的多个数据库

你目前是连接单个criminal_circum数据库,要是其他数据库和它在同一台服务器上,有两种常用方式:

方式1:单个连接切换数据库

这种方式只创建一个数据库连接,通过切换数据库来操作不同的库,适合不需要同时操作多个库的场景,能节省连接资源:

// 原来连接单个数据库的代码
$database_name = 'criminal_circum';
$conn = mysqli_connect('localhost', '你的用户名', '你的密码', $database_name);

// 现在要切换到另一个数据库,比如叫user_management
mysqli_select_db($conn, 'user_management');
// 此时执行的SQL都会针对user_management库
$user_query = "SELECT * FROM users";
$user_result = mysqli_query($conn, $user_query);

// 切回原来的criminal_circum库继续操作
mysqli_select_db($conn, $database_name);
$case_query = "SELECT * FROM cases";
$case_result = mysqli_query($conn, $case_query);

方式2:创建多个独立连接实例

如果需要同时操作多个数据库(比如一边查案件数据,一边查用户数据),直接创建多个独立的连接更清晰,互相不会干扰:

// 连接第一个数据库criminal_circum
$conn_criminal = mysqli_connect('localhost', '你的用户名', '你的密码', 'criminal_circum');
// 连接第二个数据库(比如user_management)
$conn_user = mysqli_connect('localhost', '你的用户名', '你的密码', 'user_management');

// 分别操作不同的数据库
$case_result = mysqli_query($conn_criminal, "SELECT * FROM cases");
$user_result = mysqli_query($conn_user, "SELECT * FROM users");

// 记得用完后分别关闭连接(可选,但推荐)
mysqli_close($conn_criminal);
mysqli_close($conn_user);

情况2:连接不同MySQL服务器的多个数据库

要是你的多个数据库在不同的服务器上,那就必须创建多个独立连接,每个连接指定对应的服务器地址:

// 连接服务器A的criminal_circum数据库
$conn_serverA = mysqli_connect('服务器A的IP或域名', '服务器A的用户名', '服务器A的密码', 'criminal_circum');
// 连接服务器B的另一个数据库
$conn_serverB = mysqli_connect('服务器B的IP或域名', '服务器B的用户名', '服务器B的密码', '其他数据库名');

// 各自操作对应服务器的数据库
// ...

// 关闭连接
mysqli_close($conn_serverA);
mysqli_close($conn_serverB);

用PDO扩展实现(可选)

如果你用的是PDO扩展(推荐,更灵活支持多种数据库),实现逻辑类似,通过不同的DSN创建多个PDO实例:

// 连接criminal_circum库
$dsn1 = 'mysql:host=localhost;dbname=criminal_circum;charset=utf8mb4';
$pdo_criminal = new PDO($dsn1, '你的用户名', '你的密码');

// 连接另一个库
$dsn2 = 'mysql:host=localhost;dbname=user_management;charset=utf8mb4';
$pdo_user = new PDO($dsn2, '你的用户名', '你的密码');

// 执行查询
$cases = $pdo_criminal->query("SELECT * FROM cases")->fetchAll();
$users = $pdo_user->query("SELECT * FROM users")->fetchAll();

注意事项

  • 确保你使用的数据库账号拥有对应数据库的访问权限
  • 脚本结束后PHP会自动关闭连接,但显式关闭是良好的编码习惯
  • 如果遇到连接失败,记得用mysqli_connect_error()或PDO的异常捕获来排查问题

内容的提问来源于stack exchange,提问作者ManharSinh Zala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:05:43