Re: [請益] 關於php同時連接多個db

看板PHP作者 (回到正軌。)時間14年前 (2009/09/02 10:42), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串2/3 (看更多)
※ 引述《marcoyan (回到正軌。)》之銘言: : 想請問有沒大大寫過這樣的方式,同時連接2個以上的db : 不知是否可以分享一下寫法 : 目前試過如果引入一個 db.php 我自己回答一下好了,不過我不知這方法是不是會有問題,如果寫的不好請多指教 class_db.php <?php /* 資料庫連線 Class */ class DB{ //主機1 var $dbhostname = 'host1'; var $dbusername = 'test1'; var $dbpassword = 'test1'; var $dbname = 'test1'; //主機2 var $dbhostname2 = 'host2'; var $dbusername2 = 'test2'; var $dbpassword2 = 'test2'; var $dbname2 = 'test2'; var $conn; var $conn2; function db_link(){ $this->conn = mysql_connect($this->dbhostname, $this->dbusername, $this->dbpassword) or die('DB Account or Password is Error'); mysql_select_db($this->dbname,$this->conn) or die('DB Name is Error'); return $this->conn; } function db_link2(){ $this->conn2 = mysql_connect($this->dbhostname2, $this->dbusername2, $this->dbpassword2) or die('DB Account or Password is Error'); mysql_select_db($this->dbname2,$this->conn2) or die('DB Name is Error'); return $this->conn2; } } ?> class_order.php <?php class testOrder extends DB{ //取出訂單列表 function getList(){ $sql = "SELECT * FROM `trd_order`"; $rs = mysql_query($sql,$this->db_link()); echo mysql_num_rows($rs); echo "<br/>"; $sql = "SELECT * FROM `test`"; $rs = mysql_query($sql,$this->db_link2()); echo mysql_num_rows($rs); echo "<br/>"; exit; } } ?> test.php 測試程式 <?php include_once("class_db.php"); include_once("class_order.php"); $test = new testOrder(); $test->getList(); unset($test); ?> 以上。有寫的不好的地方請更正謝謝 -- 相信,用心就能夠看見。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.2.112

09/02 11:20, , 1F
Db conn的資料外部傳入, new 2次不是比較通用
09/02 11:20, 1F

09/02 12:46, , 2F
應該是要new兩次比較好...而且你這樣寫好像不會跑..
09/02 12:46, 2F

09/02 12:47, , 3F
喔...看錯了,這樣應該會跑,只是我感覺不太好
09/02 12:47, 3F

09/02 15:21, , 4F
new 兩次+1
09/02 15:21, 4F

09/02 20:21, , 5F
new 2次?我寫的用法是它有連線才使用,跟new一樣?!
09/02 20:21, 5F
文章代碼(AID): #1AdTk9sO (PHP)
文章代碼(AID): #1AdTk9sO (PHP)