codeigniter mysql 存储过程_Codeigniter框架使用Mysql存储过程的例子
执行存储过程
$query = $this -> db -> query('CALL YOU_SP_NAME');
$result = $query -> result();
这个问题不大,就像是执行普通 SQL 语句一样。
使用存储过程遇到的问题
在用了存储过程之后,发现数据库链接并不能使用 持续链接,即 需要把 database.php 里的 $db['pconnect'] 设置为 FALSE,否则会出现链接数据库失败的错误。
另外,当执行完存储过程之后,如果再执行其它的数据库查询,会出现 Commands out of sync; you can't run this command now 错误。
查了下原因,据说是因为执行完存储过程后,没有将结果集给释放掉
CI 中可以通过重连数据库的方法解决:
$this -> db -> reconnect();
如何获得多个结果集
主要是使用 Mysqli 的 multi_query() 来获得
关键代码如下:
$mysqli = new mysqli('localhost', 'USERNAME', 'PASSWORD', 'DBNAME');
$mysqli -> query("SET NAMES utf8");
/* check connection */
if (mysqli_connect_errno()) {
printf('Connect failed: %s\n', mysqli_connect_error());
exit();
}
$query = 'CALL YOU_SP_NAME';
/* execute multi query */
if ($mysqli -> multi_query($query)) {
do {
/* store first result set */
if ($result = $mysqli -> store_result()) {
while ($row = $result -> fetch_all()) {
$all_result[] = $row;
}
$result -> free();
}
}
while ($mysqli -> next_result());
}
/* close connection */
$mysqli -> close();
codeigniter mysql 存储过程_Codeigniter框架使用Mysql存储过程的例子相关推荐
- python能查询MySQL视图_Django框架使用mysql视图操作示例
本文实例讲述了Django框架使用mysql视图操作.分享给大家供大家参考,具体如下: 一.Mysql视图的创建 MySQL中,在两个或者以上的基本表上创建视图,例如:在StudentOrm表和Inf ...
- django mysql视图_Django框架使用mysql视图操作示例
本文实例讲述了django框架使用mysql视图操作.分享给大家供大家参考,具体如下: 一.mysql视图的创建 mysql中,在两个或者以上的基本表上创建视图,例如:在studentorm表和inf ...
- ci mysql 缓存_CodeIgniter框架中启用和清除缓存的教程
CodeIgniter框架启动与缓存问题许多的新手都不知道如何来操作了,下面我们就一起来看一篇关于CodeIgniter框架中启用和清除缓存例子,具体如下所示. Codeigniter支持缓存技术,以 ...
- MySQL 学习笔记(6)— 存储过程创建、调用、删除以及带参数的存储过程
1. 存储过程总结 存储过程是一种存储在数据库中的程序.它可以包含多个 SQL 语句,并提供许多过程语言的功能,例如变量定义.条件控制语句.循环语句.游标以及异常处理等. 1.1 存储过程优点 实现代 ...
- mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法
本文主要向大家介绍了MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. DELIMITER ...
- mysql 存储过程 格式化_转 mysql 存储过程初探
https://www.cnblogs.com/qmfsun/p/4838032.html MySQL命令执行sql文件的两种方法 https://www.cnblogs.com/mark-chan/ ...
- mysql的存储过程与事务_mysql的存储过程与事务入门
存储过程是: 通过一系列的SQL语句, 根据传入的参数(也可以没有), 通过简单的调用, 完成比单个SQL语句更复杂的功能, 存储在数据库服务器端,只需要编译过一次之后再次使用都不需要再进行编译.主要 ...
- mysql命令导入存储过程报错_mysql导入存储过程时declare报错的有关问题解决
在导入存储过程时经常遇见下列DECLARE报错的问题: ? Error Code : 1064 You have an error in your SQL syntax; check the manu ...
- MySQL(十一)视图及存储过程
一.视图 视图是虚拟的表,它只包含使用时动态检索数据的查询. 1.使用视图的好处 ①重用SQL语句: ②简化复杂的SQL操作(可以方便的重用它而不必知道它的基本查询细节): ③使用表的组成部分而不是整 ...
最新文章
- 安装cuda时出现 non 7z achive. 报错解决办法 安装文件损坏
- Spring.io本地服务器解决超时问题
- vscode导入本地jar包_go导入本地包踩坑(已解决!)
- python字典键值可以是元组或列表吗_Python列表、元组、字典、集合的内置使用方法...
- 华为Mate30 Pro高清渲染图曝光:后置四摄+挖孔全面屏
- 利用HttpWebRequest实现实体对象的上传
- 百度怎么进行模糊搜索_怎么在百度上准确搜索,提高10倍效率?
- HDOJ 1166 HDU 1166 敌兵布阵 ACM 1166 IN HDU
- (转)Palantir: 神秘的大数据公司
- 免费的3D GIS 软件,特点与应用领域介绍
- HALCON学习笔记 1
- 华为存储学习笔记-3
- html屏幕共享,屏幕共享
- 幻方矩阵(魔方矩阵)
- 解决虚拟机桥接模式无法上网的问题
- 海盗分赃问题-----简化问题,分而治之
- php 调用格式工厂,格式工厂能转换kux吗?
- 在线身份证号码提取生日工具
- PSPNet 算法笔记
- 排名前10的十大人力资源管理系统
热门文章
- SSAS : 如何编写自定义挖掘算法
- CNCF Weekly:OCM 成为 CNCF 沙箱项目
- Web XR 混合现实浏览器
- ES6、ES7、ES8、ES9、ES10 新特性ECMAScript版本简介
- IIS和Tomcat共用80端口的解决方案
- 腾控Multiprog 使用问题 (持续更新)
- 微信公众号完美解决关注后三次获取media_id重复3次的问题
- miui锁屏通知显示android,MIUI10系统又更新了!新增勿扰锁屏通知功能,修复系统Bug...
- 比特币交易信息 广播 服务器,《比特币白皮书》区块圣经(3)时间戳服务器(Timestamp serv...
- 云栖社区 mysql_mysql