#核心操作
數據庫查詢構造器 (query builder) 提供方便、流暢的接口,用來建立及執行數據庫查找語法。在你的應用程序里面,它可以被使用在大部分的數據庫操作,而且它在所有支持的數據庫系統上都可以執行。
HDPHP 框架的 CURD 的自由度超過你的想象,當開啟 DEBUG 模式后,所有 SQL 語句問題均會在頁面中顯示,一目了然。
> 注意: HDPHP 查詢構造器使用 PDO 參數綁定,以保護應用程序免于 SQL 注入,因此傳入的參數不需額外轉義特殊字符。
###預準備操作
HDPHP支持使用預準備查詢,可以完全避免SQL注入。
**修改操作**
```
Db::execute("update news set total=:total where id=:id",[':total'=>5,':id'=>1]);
```
**查詢操作**
使用標識名
```
Db::query("select * from site where siteid=:siteid AND name=:name",
[':siteid'=>36,':name'=>'后盾']);
```
使用占位符
```
Db::query("select * from news where title like ?",['%后盾網%'])
```
##常用操作
**查找**
下面是使用原生 SQL 語句進行查詢,更靈活的方式請查看 查詢構造器 部分
```
Db::table('user')->where('id','>',1)->get();
```
**新增**
```
Db::table('user')->insert(['username'=>'向軍','qq'=>'2300071698']);
//數組數據會過濾掉非法字段
```
**替換**
```
Db::table('user')->replace(['id'=>1,'username'=>'向軍','qq'=>'2300071698']);
//如果字段中有主鍵或唯一索引,并且數據存在,replace操作將執行替換當前記錄的操作
```
**添加并獲取自增主鍵**
如果數據表有自動遞增的ID,可以使用 insertGetId 添加數據并返回該 ID
```
Db::table('user')-> insertGetId(['username'=>'向軍','qq'=>'2300071698']);
```
**更新**
```
Db::table('user')->where("id",1)->update(['username'=>'后盾網']);
//數組數據會過濾掉非法字段
```
**刪除**
```
Db::table('user')->where('id',1)->delete();
//刪除指定的主鍵值
Db::table('user')->delete(1);
Db::table('user')->delete([2,3,5]);
```
**自增一個字段值**
將total字段值加2
```
Db::table("user")->where('id',1)->increment('total',2);
```
**自減一個字段值**
```
Db::table("user")->where('id',1)->decrement('total',2);
將total字段減少2
```
**獲取自增主鍵**
```
$db = Db::table( 'news' );
$db->insert( [ 'title' => '后盾網' ] );
echo $db->getInsertId();
```
**獲取受影響條數**
```
$db = Db::table( 'news' );
$db->update( [ 'title' => '后盾人' ] );
echo $db->getAffectedRow();
```
- 基礎
- 框架特性
- 開發規范
- 許可協議
- 安裝
- 偽靜態
- 作者
- 更新日志
- 架構
- 入口文件
- 目錄結構
- 系統常量
- 自動加載
- 應用目錄
- 配置
- 設置配置
- 檢測配置
- 獲取配置
- 配置文件
- 擴展配置
- c 函數
- 函數
- 工具函數
- 控制器
- 定義
- 空方法
- 基本訪問
- 路由
- 基礎路由
- 控制器路由
- 路由參數
- 參數檢測
- 分組路由
- RESTful
- 數據庫
- 配置
- 核心操作
- 查詢構造器
- 表操作
- 事務處理
- 函數
- 查詢日志
- 模型
- 定義模型
- 模型動作
- 構建數據
- 模型驗證
- 自動完成
- 自動過濾
- 字段映射
- 表單令牌
- 字段保護
- 視圖模型
- 關聯模型
- 魔術方法
- 視圖
- 模板配置
- 模板文件
- 分配數據
- 請求響應
- 系統標簽
- 擴展標簽
- 緩存模板
- 模板繼承
- 中間件與鉤子
- 中間件
- 鉤子
- 緩存
- 基礎
- Mysql緩存
- 文件緩存
- 調試
- Trace
- 日志
- 調試模式
- 服務
- 介紹
- 創建服務
- 系統服務
- 自動完成
- 壓縮&解壓
- 自動驗證
- 上傳
- 字符串
- 響應
- 請求數據
- RBAC
- QQ整合登錄
- 分頁
- 郵件
- 語言
- 圖像
- 生成靜態
- 目錄操作
- 數據處理
- curl
- 加密
- Cookie
- 驗證碼
- 購物車
- 備份
- 數組
- 支付寶
- xml
- 工具
- 云接口
- 前端組件
- 基本配置
- 列表框日期選擇
- CSS 樣式
- URL操作
- 數據驗證
- 城市選擇
- JSON處理
- 幻燈片
- checkbox滑動樣式
- 消息框
- md5
- 模態框
- 上傳表單樣式
- 選擇字體
- 剪貼板
- 上傳圖片
- 上傳文件
- 拾色器 spectrum
- 列表框 select2
- 百度地圖
- 二維碼生成
- 表單提交
- 時間管理 moment
- 加載動畫
- 百度編輯器
- Cookie操作
- 圖標庫 font-awesome
- emotion表情
- domReady
- 日期 datetimepicker
- 日期區間列表 daterangepicker
- 日期區間 daterangepicker
- 時間 clockpicker
- 圖表
- 光標控制 caret
- 表單驗證 bootstrapValidator
- 微信
- 配置項
- 綁定開發者
- 獲取access_token
- 網頁授權獲取用戶基本信息
- 微信支付
- 微信紅包
- 用戶管理
- 二維碼
- 回復消息
- 消息管理
- 素材管理
- 會員組管理
- 事件管理
- 消息群發
- 客服
- 自定義菜單
- 菜單管理
- 菜單事件
- 附錄
- 升級環境
- HTTP 狀態碼
- GIT 命令