gpt4 book ai didi

php - 同一脚本中两个不同 MySQL 服务器的两个 PDO 数据库连接

转载 作者:行者123 更新时间:2023-12-04 23:22:40 25 4
gpt4 key购买 nike

<分区>

到目前为止,我使用的是一个 MySQL 服务器,我通过包含文件(例如 pdo-config.php)中的以下代码来连接它

<?php
$host = 'server';
$db = 'db';
$user = 'user';
$pass = 'pass';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?>

我想在将来使用相同的方法连接到第二个 MySQL 服务器,并在相同的 PHP 脚本中使用这两个连接。为了不混淆我想改变第二个连接参数的方式,我会在每个变量名的末尾添加一个“2”,如下所示:

<?php
$host2 = 'server2';
$db2 = 'db2';
$user2 = 'user2';
$pass2 = 'pass2';
$charset2 = 'utf8mb4';

$dsn2 = "mysql:host=$host2;dbname=$db2;charset=$charset2";
$options2 = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo2 = new PDO($dsn2, $user2, $pass2, $options2);
} catch (\PDOException $e2) {
throw new \PDOException($e2->getMessage(), (int)$e2->getCode());
}
?>

这是解决这个问题的正确方法还是有更好的方法可以同时处理两个数据库连接?

连接代码来自这个网站:https://phpdelusions.net/pdo

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com