摘要:提供了強(qiáng)大的數(shù)據(jù)庫函數(shù)類,源碼是文件。配置數(shù)據(jù)庫文件到進(jìn)行必要的配置,把數(shù)據(jù)庫名密碼編碼等填寫好。本系列文章跟著阿大學(xué)一了解跟著阿大學(xué)二文件上傳跟著阿大學(xué)三操作數(shù)據(jù)庫
碎碎念
過年還來SegmentFault學(xué)習(xí)的都是好少年~
知識重點(diǎn)涉及到數(shù)據(jù)庫,就是比較復(fù)雜的內(nèi)容了,所以本文略長,但是CI還是為我們省了很多麻煩事。CI提供了強(qiáng)大的數(shù)據(jù)庫函數(shù)類——Active Record,源碼是/system/database/DB_active_rec.php文件。
使用
$this -> db -> 方法名()
連接數(shù)據(jù)庫
$this -> load -> database();
插入
$this -> db -> insert(表名, 數(shù)據(jù));
更新
$this -> db -> where(字段名, 字段值);
$this -> db -> update(表名, 修改值的數(shù)組);
查找
$this -> db -> where(字段名, 字段值);
$this -> db -> select(查找的字段名);
$query = $this -> db -> get(表名);
return $query -> result();
刪除
創(chuàng)數(shù)據(jù)庫$this -> db -> where(字段名, 字段值);
$this -> db -> delete(表名);
本例中,創(chuàng)建數(shù)據(jù)庫ci,用戶表user,user表里的字段為編號uid, 用戶名uname, 密碼upw。
配置數(shù)據(jù)庫文件到/application/config/database.php進(jìn)行必要的配置,把數(shù)據(jù)庫名/密碼/編碼等填寫好。
編寫模型由本CI系列博客第一章可知,這些對數(shù)據(jù)庫的操作要寫在模型里。所以在model里創(chuàng)建一個user_test.php的文件。
構(gòu)造函數(shù)
class User_test extends CI_Model { // 類名首字母大寫,繼承CI_Model類 function __construct() { parent::__construct(); // 繼承父類的構(gòu)造函數(shù) $this -> load -> database(); // 連接數(shù)據(jù)庫 } }
插入
function u_insert($arr) { $this -> db -> insert("user", $arr); //把傳來的數(shù)據(jù)數(shù)組插到user表里 }
更新
function u_update($id, $arr) { $this -> db -> where("uid", $id); //查找到此id的用戶信息 $this -> db -> update("user", $arr);//更新 }
查找
function u_select($name) { // 這里是通過用戶名來查找,可以自定義其他字段 $this -> db -> where("uname", $name); $this -> db -> select("*"); //選取全部信息 $query = $this -> db -> get("user"); return $query -> result(); //返回值 }
刪除
function u_del($id) { $this -> db -> where("uid", $id);//查找到此id的用戶信息 $this -> db -> delete("user");//刪除此id所有信息 }
整個代碼
load -> database(); } function u_insert($arr) { $this -> db -> insert("user", $arr); } function u_update($id, $arr) { $this -> db -> where("uid", $id); $this -> db -> update("user", $arr); } function u_del($id) { $this -> db -> where("uid", $id); $this -> db -> delete("user"); } function u_select($name) { $this -> db -> where("uname", $name); $this -> db -> select("*"); $query = $this -> db -> get("user"); return $query -> result(); } } ?>調(diào)用此模型
這里寫一個注冊功能來示范如何使用我們剛剛創(chuàng)建的模型。創(chuàng)建controller/signin.php和views/signin.php文件
編寫views/signin.php
編寫controller/signin.php
load -> view("signin"); //載入signin視圖 } function regist() { $this -> load -> model("user_test"); //載入我們之前創(chuàng)建的User_test模型,首字母不用大小 $arr = array("uname" => $_POST["u_name"], "upw" => $_POST["u_pw"]); //獲取提交的表單內(nèi)容,=>左邊是數(shù)據(jù)表里面的鍵名,=>右邊是通過name獲取的表單值 $this -> user_test -> u_insert($arr); //調(diào)用user_test的u_insert方法插入數(shù)據(jù) } }
使用
訪問localhost/ci/index.php/signin,填寫表單即可注冊,進(jìn)入數(shù)據(jù)庫看看就有內(nèi)容插入了。
跟著阿大學(xué)CodeIgniter (一)——了解MVC
跟著阿大學(xué)CodeIgniter (二)—— 文件上傳
跟著阿大學(xué)CodeIgniter (三)—— 操作數(shù)據(jù)庫
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/20683.html
摘要:它提供一套豐富的標(biāo)準(zhǔn)庫以及簡單的接口和邏輯結(jié)構(gòu),其目的是使開發(fā)人員更快速地進(jìn)行項(xiàng)目開發(fā)。文件放在里類名首字母必須大寫,并繼承的類訪問的路徑為項(xiàng)目名入口控制器名控制器的方法參數(shù)。 有的沒的 showImg(http://segmentfault.com/img/bVbOml);阿大鎮(zhèn)文(-_-メ)~ 阿大你太黑了,回去洗把臉看看有沒有救~ 學(xué)習(xí)背景 CI是一個比較流行的PHP MV...
摘要:文件名中的擴(kuò)展名也必須是允許的文件類型。注意通常也有這項(xiàng)限制,可以在文件中指定。上傳文件的高度最大值像素為單位。 showImg(http://segmentfault.com/img/bVbPbI); 阿大說,為做一張配圖,還要換系統(tǒng),好苦13 ╮(╯-╰)╭ 原生php上傳 在使用CI之前,我們來看看用原生代碼是如何上傳的,做個對比,就知道CI有多么方便~ 首先創(chuàng)建一個視圖c...
摘要:鎮(zhèn)文圖什么是是用于保持狀態(tài)的基于服務(wù)器的方法??梢院唵卫斫鉃榉?wù)器給用戶生成了一個通行證。建立文件意味著我們待會要用到控制器的函數(shù)退出調(diào)用控制器的函數(shù)編寫控制器類接下來,我們要一步步往這個類里面加功能。 鎮(zhèn)文圖 showImg(http://segmentfault.com/img/bVbSFL); 什么是Session Session是用于保持狀態(tài)的基于Web服務(wù)器的方法??梢?..
摘要:前段時間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請了騰訊云學(xué)生機(jī),用的框架弄了一段時間。這個用戶既是不可登錄的操作系統(tǒng)用戶,也是數(shù)據(jù)庫用戶。設(shè)置數(shù)據(jù)庫用戶密碼為了能夠讓和數(shù)據(jù)庫相連接,需要設(shè)置數(shù)據(jù)庫用戶密碼。 打讀研之后,更加關(guān)注算法的學(xué)習(xí),Web開發(fā)這一塊便落下了,平時也通過微信公眾號關(guān)注了些,常常感慨,技術(shù)的更迭真是日新月異。 前段時間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請了騰訊云學(xué)生機(jī),用Python的Sc...
摘要:前段時間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請了騰訊云學(xué)生機(jī),用的框架弄了一段時間。這個用戶既是不可登錄的操作系統(tǒng)用戶,也是數(shù)據(jù)庫用戶。設(shè)置數(shù)據(jù)庫用戶密碼為了能夠讓和數(shù)據(jù)庫相連接,需要設(shè)置數(shù)據(jù)庫用戶密碼。 打讀研之后,更加關(guān)注算法的學(xué)習(xí),Web開發(fā)這一塊便落下了,平時也通過微信公眾號關(guān)注了些,常常感慨,技術(shù)的更迭真是日新月異。 前段時間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請了騰訊云學(xué)生機(jī),用Python的Sc...
閱讀 1614·2021-11-16 11:45
閱讀 2544·2021-09-29 09:48
閱讀 3269·2021-09-07 10:26
閱讀 1840·2021-08-16 10:50
閱讀 1866·2019-08-30 15:44
閱讀 2698·2019-08-28 18:03
閱讀 1898·2019-08-27 10:54
閱讀 1823·2019-08-26 14:01