## 存儲過程
由于數據庫操作接口的不統一,所以存儲過程調用的方法上有一點差別。
> 后續會為YurunPHP引入PDO方式的數據庫操作。
格式:
~~~
execProc([存儲過程名][,[參數][,[參數類型]]])
~~~
| 名稱 | 描述 |
| -- | -- |
| 存儲過程名 | 要執行的存儲過程名 |
| 參數 | 傳遞給存儲過程的參數,一維數組形式 |
| 參數類型 | 可選值查看下表,留空不填則會從配置文件中讀取,如果傳參和配置中都為空,則查詢時不是使用預處理 |
| 字符 | 描述 |
| -- | -- |
| i | 整數類型 |
| d | 浮點類型 |
| s | 字符串類型 |
| b | 二進制類型 |
### MySQL API
MYSQL API不支持INOUT和OUT參數。
代碼:
~~~
// 調用無參數的存儲過程
$this->db->execProc('存儲過程名');
// 調用有參數的存儲過程
$this->db->execProc('存儲過程名',array('宇潤','無錫'));
~~~
### MySQLi
MYSQLi支持INOUT和OUT參數。
用法:
~~~
$this->db->execProc([存儲過程名][,參數]);
~~~
代碼:
~~~
// 調用無參數的存儲過程
$this->db->execProc('存儲過程名');
// 調用有參數的存儲過程
$this->db->execProc('存儲過程名',array('宇潤','無錫'));
// 調用有參數的存儲過程,并且獲得OUT參數返回值。存儲過程的三個參數類型分別是字符串、字符串和整數型,所以根據上表是ssi
$this->db->execProc('存儲過程名',array('宇潤','無錫',&$age),'ssi');
~~~
### 配置文件中配置存儲過程的參數:
~~~
<?php
return array(
'DbProc' => array(
'存儲過程名' => array(
'params' => 'ssi'
),
'存儲過程名2' => array(
'params' => 'iiii'
),
)
);
~~~
直接執行:
~~~
// 調用有參數的存儲過程,并且獲得OUT參數返回值。
$this->db->execProc('存儲過程名',array('宇潤','無錫',&$age));
~~~
- 序言
- 有些話想說
- 基礎入門
- 簡介
- 下載YurunPHP
- 運行環境
- 開發規范
- 目錄結構
- 模塊
- 控制器
- 項目配置
- 入口文件
- 項目目錄結構
- 配置文件
- 框架編譯
- 項目部署
- 控制器
- 創建控制器
- 加載模版顯示頁面
- AJAX返回數據
- 模型
- 創建模型
- 實例化模型
- 數據管理
- 連貫操作
- distinct
- field
- from
- where
- wherePk
- group
- having
- order
- limit
- join
- page
- headTotal/footTotal
- 連貫操作收尾方法
- select
- selectPage
- buildSQL
- selectValue
- selectBy
- getBy
- getByPk
- random
- inc
- dec
- add
- edit
- delete
- 合計函數
- save
- 執行SQL語句
- 創建數據并驗證
- 字段映射
- GET/POST/COOKIE/REQUEST
- Cookie
- Session
- 數據庫操作
- 配置文件
- 常用操作
- 查詢記錄
- 存儲過程
- 數據庫函數
- MSSQL
- 視圖
- 調用視圖
- 給視圖傳值
- 模版引擎
- 輸出
- 使用PHP代碼
- 模版標簽
- if
- switch
- for
- counter
- foreach
- include
- js/css/image
- url
- 模版常量替換
- 自定義控件
- 通用屬性用法
- 數據集綁定
- 下拉框(select)
- 單選框(radio)
- 單選框組(radiogroup)
- 選擇框(checkbox)
- 選擇框組(checkboxgroup)
- 表格(table)
- 文本框(textbox)
- 分頁條(pagebar)
- 數據驗證
- 驗證方法
- between
- betweenEqual
- empty_str
- not_empty_str
- regex
- length
- lengthChar
- mobile
- tel
- phone
- postcode
- url
- ip
- lt/gt/ltEqual/gtEqual
- equal/unequal
- in/notin
- idcard
- 路由
- 路由配置
- 自定義分層
- 緩存
- 文件緩存
- 配置
- PHP數組配置
- 過濾域名
- 日志
- 文件日志
- 事件&插件機制
- 框架事件列表
- 多語言支持
- 定時任務
- API接口開發