<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 核心操作 框架默認情況下,所有的增刪改查全部使用預處理語句(數據庫預處理,并非php模擬的預處理,如果想要更改方式可以在配置文件的opiton選項中更改)進行徹底的杜絕sql注入,提供數據庫安全性。 [TOC] ### 執行一條查詢語句 注意查詢語句和執行語句需要使用不同的方法。 ~~~ /** * 發送一條查詢sql * @param [type] $sql [sql語句] * @param array $params [預處理參數] * @param bool $result [默認返回結果集,如果為false則返回pdo查詢對象] * @return [type] [description] */ public function query($sql, array $params = [], $result = true) ~~~ `Db::query('select * from dream_user where uid = ?', [12])`; 返回`dream_user`表uid=12的數據 ### 執行一條非查詢語句 ~~~ /** * 執行一條sql 返回受影響的行數 * @param [type] $sql [sql] * @param array $params [預處理參數] * @return [type] [返回受影響的行數] */ public function execute($sql, array $params = []) ~~~ `Db::execute("update news set total=:total where id=:id",[':total'=>5,':id'=>1])` 更新表id等于1的數據 `total`等于5 ### 預處理參數 預處理參數可以是關聯數組也可以是一個索引數組,但是絕對不可以是一個關聯和索引混合的數組,如果是自己發送sql語句推薦使用關聯,如果使用框架的curd操作推薦使用索引數組。 如果使用關聯數組切記名稱前面要加`:`號,例如:`[':name'=>'username']` 不用擔心索引數組是否是從1開始的,框架在發送sql語句時會處理判斷。 ## 常用操作 ### 設置操作表 ~~~ Db::table('table_name'); 返回當前對象 ~~~ ### 獲取實例 默認情況下通過靜態調用的方式返回的都是單例方式,如果需要創建新的實例可以使用以下方法 ~~~ Db::table('table_name')->getInstance(); 或者 Db::getInstance(); Db::getInstance()->table(); ~~~ ### 增刪改查操作 #### 增加數據 ~~~ /** * 添加數據 * @param array $data [數據] * @return [type] [description] */ public function insert(array $data = [], $action = 'insert'); Db::table('user')->insert(['username'=>'Sean']); ~~~ #### 批量添加 ~~~ /** * 批量添加 * @param array $datas [二維數組] * @return [type] [description] */ public function insertAll(array $datas = []); 該方法和inser類似,不過在次基礎上擴展為一個二維數組 Db::table('user')->insertAll([['username'=>'Sean'],['username'=>'k']]); ~~~ #### 添加并且獲取自增id ~~~ /** * 添加并獲得自增ID * @param array $data [數據] * @param boolean $replace [新增還是替換,默認新增] * @param [type] $sequence [mysql不需要理會] * @return [type] [返回新增id] */ public function insertGetId(array $data = [], $replace = false, $sequence = null); $id = Db::table('news')->insertGetId(['title'=>'This is a title']); ~~~ #### 查找數據一條數據 ~~~ /** * 查詢 根據id返回一條數據 * @return [type] [主鍵id] */ public function find($id = null); Db::table('user')->where('uid',1)->find(); 或者 Db::table('user')->find(1); ~~~ #### 查找多條數據 ~~~ /** * 查詢 * @return [type] [description] */ public function get() Db::table('user')->where('gid', 2)->get(); 查找所有組id等于2的用戶 ~~~ #### 返回需要的字段 ~~~ /** * 返回相應字段的數據 * @param [type] $field [字段] * @param boolean $all [是否返回所有數據僅僅在字段只有一個時有效] * @return [type] [description] */ public function getField($field, $all = false) 獲取用戶名 Db::table('user')->where('uid', 1)->getField('username'); 結果:sean 返回當前組所有的用戶名 Db::table('user')->where('gid', 1)->getField('username', true); // 結果是一個一維數組 返回當前組所有的用戶id和用戶名 Db::table('user')->where('gid', 1)->getField('uid,username'); ~~~ #### 修改 ~~~ /** * 更新表數據 * @return [type] [description] */ public function update(array $data = []) Db::table('user')->where('uid', 1)->update(['gid'=>2]); 修改用戶表 用戶id等于1的數據 修改用戶組id等于2 ~~~ #### 存在修改不存在新增 ~~~ /** * 替換 存在修改 不存在新增加 * @param array $data [數據] * @param [type] $sequence [oracle或者pgsql的自增序列] * @return [type] [返回新增id失敗返回false] */ public function replace(array $data = [], $sequence = null) Db::table('user')->where('uid', 1)->replace(['uid'=>2]); 修改uid數據如果存在修改為2不存在新增一個uid=2的用戶 ~~~ #### 刪除數據 ~~~ /** * 刪除數據 * @param [type] $id [主鍵id] * @return [type] [description] */ public function delete($id = null) 如果沒有id必須存在 where條件 刪除用戶id等于1的數據 Db::table('user')->where('uid', 1)->delete(); 或者 Db::table('user')->delete(1); ~~~ #### 自增 ~~~ /** * 增加 * @param [type] $field [字段] * @param integer $step [自增大小默認1] * @return [type] [description] */ public function inc($field, $step = 1) Db::table('user')->where('uid', 1)->inc('login_time')->update(); 或者 直接自增 Db::table('user')->where('uid', 1)->setInc('login_time'); ~~~ #### 自減 ~~~ /** * 減少 * @param [type] $field [字段] * @param integer $step [自增大小默認1] * @return [type] [description] */ public function dec($field, $step = 1) Db::table('user')->where('uid', 1)->dec('login_time')->update(); 或者 直接自減 Db::table('user')->where('uid', 1)->setDec('login_time', 3); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看