Changeset 18605
- Timestamp:
- 2010/03/05 10:36:42 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/comu-ver2/data/class/SC_DbConn.php
r18593 r18605 25 25 require_once($current_dir . "/../module/DB.php"); 26 26 27 $ objDbConn = "";27 $g_arr_objDbConn = array(); 28 28 29 29 class SC_DbConn { … … 39 39 // コンストラクタ 40 40 function SC_DbConn($dsn = "", $err_disp = true, $new = false){ 41 global $ objDbConn;41 global $g_arr_objDbConn; 42 42 43 43 // Debugモード指定 … … 46 46 $options['persistent'] = PEAR_DB_PERSISTENT; 47 47 48 if (strlen($dsn) >= 1) { 49 $this->dsn = $dsn; 50 } elseif (defined('DEFAULT_DSN')) { 51 $this->dsn = DEFAULT_DSN; 52 } else { 53 // XXX 以前の仕様を継承しているが、意図が良く分からない。(2010/03/03 Seasoft 塚田) 54 return; 55 } 56 48 57 // 既に接続されていないか、新規接続要望の場合は接続する。 49 if (!isset($objDbConn->connection) || $new) {50 if($dsn != "") {51 $objDbConn = DB::connect($dsn, $options);52 $this->dsn = $dsn; 53 } else{54 if(defined('DEFAULT_DSN')) {55 $objDbConn = DB::connect(DEFAULT_DSN, $options);56 $this->dsn = DEFAULT_DSN; 57 } else{58 return;59 }58 if (!isset($g_arr_objDbConn[$this->dsn]) || !isset($g_arr_objDbConn[$this->dsn]->connection)) { 59 $new = true; 60 } 61 62 if ($new) { 63 $this->conn = DB::connect($this->dsn, $options); 64 $g_arr_objDbConn[$this->dsn] = $this->conn; 65 66 if (DB_TYPE == 'mysql') { 67 $g_arr_objDbConn->query('SET NAMES utf8'); // FIXME mysql_set_charset を使える環境では、その方が良さそう (2010/03/03 Seasoft 塚田) 68 $g_arr_objDbConn->query("SET SESSION sql_mode = 'ANSI'"); 60 69 } 61 } 62 63 if (DB_TYPE == 'mysql') { 64 $objDbConn->query('SET NAMES utf8'); 65 $objDbConn->query("SET SESSION sql_mode = 'ANSI'"); 66 } 67 68 $this->conn = $objDbConn; 70 } else { 71 $this->conn = $g_arr_objDbConn[$this->dsn]; 72 } 73 69 74 $this->err_disp = $err_disp; 70 75 $this->dbFactory = SC_DB_DBFactory_Ex::getInstance();
Note: See TracChangeset
for help on using the changeset viewer.