ci框架mysql資料庫語句 CI中使用多個資料庫

2021-10-22 13:41:11 字數 2867 閱讀 3275

* @package                ci2.1.0

* @author                  longde

* @version                 1.0

header('content-type:text/html; charset=utf-8');

* 資料庫控制器

* 該控制器的主要做用是進行資料庫方面的操作。

* @category        controllers

* @author                longde

class dbc extends ci_controller {

* 測試在同乙個專案中同時使用多個資料庫進行操作

* @access        public

* @return        array

public function index()

//按照ci手冊中的說法:如果需要同時連線多個資料庫,則採用

//$db1 = $this->load->database('group_one',true);

//$db2 = $this->load->database('group_two',true);

//注意:confing/database.php中的$db[***x]['pconnect'] = false

$db1 = $this->load->database('default',true);//注意第乙個引數:值與配置檔案中的第乙個索引對應

$db2 = $this->load->database('additional', true);//注意第乙個引數:值與配置檔案中的第乙個索引對應

//下面開始進行操作

//首先,在第乙個資料庫test的t_news表中插入資料

$data1 = array(

'title'                        => '測試在ci框架中同時操作多個資料庫',

'sub_title'                 => 'ci框架允許使用多個資料庫進行操作。具體的內容請檢視ci手冊......',

'content'                  => '如果你需要同時連線多於乙個的資料庫,你可以用以下方式來實現:$db1 = $this->load->database(\'group_one\', true);$db2 = $this->load->database(\'group_two\', true);注意:改變 "group_one" 和 "group_two" 為你指定了連線屬性的組名 (或者通過上邊說過的連線陣列的陣列名)。',

'create_time'            => date('y-m-d h:i:s'),

'author'                    => 'longde',

'source'                    => '原創'

//插入之前先判斷是否已存在

$db1->select('id');

$id1 = $db1->get_where('t_news',array('title' => $data1['title']))->result_array();

if(empty($id1))

//插入資料

$db1->insert('t_news',$data1);

//獲取剛才插入資料時生成的id值

$id1 = $db1->insert_id();

else

$id1 = $id1[0]['id'];

//從資料庫中讀取資料

$result1 = $db1->get_where('t_news',array('id' => $id1))->result_array();

//格式化輸出剛才的讀取結果

echo "

";
print_r($result1);

//其次,在第二個資料庫test_other的t_sys_user表中插入資料

$data2 = array(

'role_id'                     => 1,

'login_name'             => 'admin',

'password'                => md5('admin'),

'is_admin'                  => 1,

'create_time'             => date('y-m-d h:i:s'),

'status'                      => 0,

'is_locked'                 => 0

//插入之前先判斷是否已存在

$db2->select('id');

$id2 = $db2->get_where('t_sys_user',array('login_name' => $data2['login_name']))->result_array();

if(empty($id2))

//插入資料

$db2->insert('t_sys_user',$data2);

//獲取剛才插入資料時生成的id值

$id2 = $db2->insert_id();

else

$id2 = $id2[0]['id'];

//從資料庫中讀取剛才插入的資料

$result2 = $db2->get_where('t_sys_user',array('id' => $id2))->result_array();

//格式化輸出剛才的讀取結果

echo "

";
print_r($result2);

/* end of file dbc.php */

ci框架mysql資料庫連線資源無法釋放

使用ci框架提供的類查詢資料 this load database query this db query sql 程式執行一段時間之後,報錯,告知資料庫too many connections 很明顯mysql資料庫連線資源超過了 max connections 設定值。立馬在每個查詢之後,新增資...

ci mysql操作 CI框架資料庫各類操作

單錶增刪改查 乙個類對應乙個表 1 模型層 繼承核心類ci model 2 parent construct 過載初始化建構函式 3 連線資料庫 this load database 4 插入資料 this db insert t name,data 例 function inser arr thi...

CI框架資料庫查詢之join用法分析

用 a表中的每個id 去查詢這個 id 在 people 表中的資訊。語句如下 this db from a this db join b sites.id b.id 用 a表中的每個id 去查詢這個 id 在 b表中的資訊。注意sql的約定,如果乙個列名在二張表中是重複的,你需要在列名前加上表名和...