使用sqlsrv或pdo_sqlsrv扩展可实现PHP连接SQL Server及多数据库切换,需安装对应驱动并配置php.ini启用扩展,定义不同数据库连接参数数组,通过sqlsrv_connect()或new PDO()动态创建连接,每次切换前关闭旧连接或新建连接对象即可完成数据库切换。

要在PHP中连接SQL Server并实现多数据库切换,关键在于合理配置连接参数和使用正确的扩展。PHP通过 sqlsrv 或 pdo_sqlsrv 扩展支持与 Microsoft SQL Server 的交互,这两个扩展由微软官方提供,兼容性好,性能稳定。
确保你的PHP环境已安装并启用了 sqlsrv 扩展:
extension=sqlsrv extension=pdo_sqlsrv
定义多个数据库的连接参数,便于动态切换:
$connections = [
'db1' => [
'server' => 'localhost',
'database' => 'DatabaseOne',
'uid' => 'user1',
'pwd' => 'password1'
],
'db2' => [
'server' => 'localhost',
'database' => 'DatabaseTwo',
'uid' => 'user2',
'pwd' => 'password2'
]
];
使用 sqlsrv_connect() 动态连接不同数据库:
立即学习“PHP免费学习笔记(深入)”;
function connectToDB($config) {
$connectionString = "Server={$config['server']};Database={$config['database']};UID={$config['uid']};PWD={$config['pwd']}";
$conn = sqlsrv_connect($connectionString);
if (!$conn) {
die('Connection failed: ' . print_r(sqlsrv_errors(), true));
}
return $conn;
}
<p>// 切换到 db1
$conn = connectToDB($connections['db1']);
$sql = "SELECT * FROM users";
$stmt = sqlsrv_query($conn, $sql);
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
print_r($row);
}
sqlsrv_free_stmt($stmt);</p><p>// 关闭当前连接,切换到 db2
sqlsrv_close($conn);
$conn = connectToDB($connections['db2']);</p><p>$sql = "SELECT * FROM products";
$stmt = sqlsrv_query($conn, $sql);
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
print_r($row);
}
sqlsrv_close($conn);</p>若使用PDO方式,切换更简洁:
function getPdoConnection($config) {
$dsn = "sqlsrv:server={$config['server']};database={$config['database']}";
try {
return new PDO($dsn, $config['uid'], $config['pwd']);
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
}
<p>$db1 = getPdoConnection($connections['db1']);
foreach ($db1->query('SELECT TOP 5 * FROM users') as $row) {
print_r($row);
}</p><p>$db2 = getPdoConnection($connections['db2']);
foreach ($db2->query('SELECT TOP 5 * FROM products') as $row) {
print_r($row);
}</p>基本上就这些。只要配置好扩展,把连接参数管理清楚,切换MSSQL数据库并不复杂,关键是每次切换前关闭旧连接或新建独立连接对象。
以上就是通过php连接mssql支持多数据库_配置php连接mssql的多库切换的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号