PHP连接两个DB

时间:2011-12-20 01:52:33

标签: php mysql sql database

我需要知道的是,如何一次连接两个数据库。 我正在做的是从一个数据库表中获取一些信息并将其传输到另一个数据库。

我尝试了以下内容。

public function sitelistingcron()
{

    $sqlk = mysql_query("SELECT * FROM customer_detail WHERE approvedforsite = 2 OR approvedforsite = 3");


    include_once('database2.php');
    $fet = new Dbase();
        $fet->Connect();
        $fet->DB();
    while($row = mysql_fetch_array($sqlk)){
        //ADD
        $this->customer_id = $row['customer_id'];
        $this->tradingname = $row['TradingName'];
        $this->phone        = $row['Phone'];
        $this->street       = $row['Street'];
        $this->city         = $row['City'];
        $this->state        = $row['State'];
        $this->postcode     = $row['PostCode'];
        $this->approved = $row['approvedforsite'];




        $this->description  = $row['Description'];

        if($this->approved = 2)
        {
            $sqk = mysql_query("INSERT INTO approved_business_info (id, tradingname, phonenumber, street, postcode, suburb, discription) VALUES ({$this->customer_id}, '{$this->tradingname}', '{$this->phone}', '{$this->street}', '{$this->city}', '{$this->postcode}', '{$this->description}') ON DUPLICATE KEY UPDATE id = {$this->customer_id}, tradingname ='{$this->tradingname}', phonenumber ='{$this->phone}', street = '{$this->street}', postcode = '{$this->postcode}', suburb = '{$this->city}', discription = '{$this->discription}'") or mysql_error();


        print "INSERT INTO approved_business_info (id, tradingname, phonenumber, street, postcode, suburb, discription) VALUES ({$this->customer_id}, '{$this->tradingname}', '{$this->phone}', '{$this->street}', '{$this->city}', '{$this->postcode}', '{$this->description}') ON DUPLICATE KEY UPDATE id = {$this->customer_id}, tradingname ='{$this->tradingname}', phonenumber ='{$this->phone}', street = '{$this->street}', postcode = '{$this->postcode}', suburb = '{$this->city}', discription = '{$this->discription}'";


        }

        //REMOVE
        if($this->approved = 3)
        {
            $sqk = mysql_query("DELETE FROM `approved_business_info` WHERE id = {$this->customer_id}");
        }
    }   
}

1 个答案:

答案 0 :(得分:2)

您可以使用mysql_扩展名使用两个单独的数据库连接,只需跟踪连接资源并将其传递给每个mysql_函数调用:

$db1 = mysql_connect(...);
$db2 = mysql_connect(...);

mysql_query('SELECT ...', $db1);
mysql_query('INSERT ...', $db2);

查看http://www.php.net/mysql_connect和其他mysql_函数的文档。