PHP CI框架數(shù)據(jù)庫(kù)操作
PHP CI框架可以很方便地處理數(shù)據(jù)庫(kù)操作,因?yàn)樗鼉?nèi)置了一個(gè)數(shù)據(jù)庫(kù)訪問(wèn)層,可以與不同的數(shù)據(jù)庫(kù)進(jìn)行通信。這樣一來(lái),開(kāi)發(fā)者可以根據(jù)自己項(xiàng)目需要,來(lái)隨時(shí)更換使用的數(shù)據(jù)庫(kù)。下面我們會(huì)根據(jù)不同的數(shù)據(jù)庫(kù)類(lèi)型來(lái)介紹如何操作數(shù)據(jù)庫(kù)。
MySQL數(shù)據(jù)庫(kù)操作
//連接數(shù)據(jù)庫(kù) $this->load->database(); //查詢(xún)數(shù)據(jù)庫(kù) $query = $this->db->query("SELECT * FROM users"); $result = $query->result(); //插入數(shù)據(jù) $data = array( 'username' =>'test', 'email' =>'test@test.com', 'password' =>'password' ); $this->db->insert('users', $data);
在上面的例子中,我們首先加載了CI框架的數(shù)據(jù)庫(kù)庫(kù)。然后我們可以使用“$this->db->query()”方法來(lái)執(zhí)行SQL查詢(xún)語(yǔ)句,還可以使用“$this->db->insert()”方法來(lái)插入數(shù)據(jù)。這里我們插入了一個(gè)新用戶(hù)到users表中。
Oracle數(shù)據(jù)庫(kù)操作
//連接數(shù)據(jù)庫(kù) $config['hostname'] = 'localhost'; $config['username'] = 'username'; $config['password'] = 'password'; $config['database'] = 'orcl'; $config['dbdriver'] = 'oci8'; $this->load->database($config); //查詢(xún)數(shù)據(jù)庫(kù)(使用OCI8) $query = $this->db->query("SELECT * FROM employees"); $result = $query->result();
Oracle數(shù)據(jù)庫(kù)的連接需要特別的設(shè)定。在這個(gè)例子中,我們需要手動(dòng)設(shè)置數(shù)據(jù)庫(kù)的驅(qū)動(dòng)器,并在配置中設(shè)置相應(yīng)參數(shù)。到這里雖然看起來(lái)跟之前MySQL的操作類(lèi)似,但是我們需要使用OCI8的方式來(lái)查詢(xún)數(shù)據(jù)庫(kù)。這也是CI框架為不同數(shù)據(jù)庫(kù)提供差別函數(shù)的原因。
MongoDB數(shù)據(jù)庫(kù)操作
//連接數(shù)據(jù)庫(kù) $config['hostname'] = 'localhost'; $config['username'] = 'username'; $config['password'] = 'password'; $config['database'] = 'mydb'; $config['dbdriver'] = 'mongodb'; $this->load->database($config); //查詢(xún)數(shù)據(jù)庫(kù)(使用MongoDB) $query = $this->db->get('employees'); $result = $query->result();
如果你需要使用NoSQL數(shù)據(jù)庫(kù),則可以使用MongoDB。MongoDB是一個(gè)使用JSON風(fēng)格的文檔模型來(lái)存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng)。CI框架提供了與MongoDB之間的兼容性,你可以使用與之前類(lèi)似的方式來(lái)連接和查詢(xún)你的數(shù)據(jù)庫(kù)。
總結(jié)
CI框架讓你可以隨時(shí)切換你的數(shù)據(jù)庫(kù)類(lèi)型。使用CI框架,你可以使用相同的代碼查詢(xún)和內(nèi)置的函數(shù)操作你的數(shù)據(jù)庫(kù)。這導(dǎo)致了你編寫(xiě)的代碼可以在不同的數(shù)據(jù)庫(kù)之間通用。很明顯,使用CI框架有很多好處,所以如果你還沒(méi)有嘗試過(guò)這個(gè)框架,那么你應(yīng)該考慮一下。