从任何数据库的数据php连接多个数据库

时间:2015-12-03 11:48:07

标签: php mysql

我想用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变量什么都没给我。如果它给了我任何东西,我不知道如何控制它。

谢谢。

0 个答案:

没有答案