## 存储过程
由于数据库操作接口的不统一,所以存储过程调用的方法上有一点差别。
> 后续会为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');
### 配置文件中配置存储过程的参数:
return array(
'DbProc' => array(
'存储过程名' => array(
'params' => 'ssi'
),
'存储过程名2' => array(
'params' => 'iiii'
),
)
);
直接执行:
// 调用有参数的存储过程,并且获得OUT参数返回值。
$this->db->execProc('存储过程名',array('宇润','无锡',&$age));



