我想用PHP连接多个数据库。 我有一个有连接参数的表,我想先显示代码。
class someClass {
protected $db, $arrayb;
public function __construct() {
include 'db.php';
$this->db = $db;
$this->arrayb = $arrayb;
}
public function prepareSites() {
$prepareSites = $this->db->prepare("SELECT id FROM sites WHERE site_type='somesites' ORDER BY id ASC");
$prepareSites->execute();
$getCountOpSites = $countOpSites->rowCount();
$prepareSites = $prepareSites->fetchAll(PDO::FETCH_ASSOC);
$arraycount = array();
foreach ($prepareSites as $a) {
$arraycount[] = $a;
}
$arrayb = array();
foreach ($arraycount as $b) {
$arrayb[] = $b["id"];
}
$arrayb;
}
这些代码中的一切都很好。 $ arrayb变量给了我每个id,我没有数组的问题。
但是,
public function connectSites() {
$dbarray = array();
$i = 0;
foreach ($this->arrayb as $a) {
$i++;
$conn.$i = $this->db->prepare("SELECT * FROM sites WHERE id='{$a}'");
$conn.$i->execute();
$conn.$i = $conn.$i->fetch(PDO::FETCH_ASSOC);
$asd.$i = $conn.$i["id"];
$host2 = $conn.$i["site_host"];
$name2 = $conn.$i["site_name"];
$user2 = $conn.$i["site_user"];
$pass2 = $conn.$i["site_pass"];
$this->dbop.$i = new PDO('mysql:host='.$host2.';dbname='.$name2.'', ''.$user2.'', ''.$pass2.'');
$this->dbop.$i->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->dbop.$i->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbarray[] = $this->dbop.$i;
}
return $dbarray;
}
无法知道添加的连接数。这就是为什么我想添加$ i变量来创建我想要的不同连接。但是$ dbarray变量什么都没给我。如果它给了我任何东西,我不知道如何控制它。
谢谢。