php调用MySQL存储过程的方法集合(推荐)


Posted in PHP onJuly 03, 2013

类型一:调用带输入、输出类型参数的方法

$returnValue = '';
try {
 mysql_query ( "set @Return" );
 $spname = 'P__Test_GetInfo1';
 mysql_query ( "call $spname(@Return, '{$userId}', '{$pwd}')" ) or die ( "[$spname]Query failed:" . mysql_error () );
 $result_return = mysql_query ( "select @Return" );
 $row_return = mysql_fetch_row ( $result_return );
 $returnValue = $row_return [0];
} catch ( Exception $e ) {
 echo $e;
}
echo $returnValue; //输出来自存储过程中输出的变量

类型二:调用带多个输出类型和多个输入类型参数的方法
$userId = 0;
try{
    mysql_query("set @Message");
    mysql_query("set @Id");
    mysql_query("call P__Test_Login(@Message, @Id, '{$userId}', '{$pwd}')", $conn) or die("Query failed:".mysql_error());
    $result_mess = mysql_query("select @Message");
    $result_uid = mysql_query("select @Id");
    $row_mess = mysql_fetch_row($result_mess);
    $row_uid = mysql_fetch_row($result_uid);
    $Proc_Error = $row_mess[0];
    $uId = $row_uid[0];
}
catch( Exception $e )
{
   echo $e;
}
echo 'proc return message:'$Proc_Error.'<br/>'; //输出来自存储过程中输出的变量
echo 'User id:'.$uId; //获取用户id

类型三:调用带返回结果集的方法
try {
 $spname = 'P__Test_GetData';
 $query = mysql_query ( "call $spname()", $conn ) or die ( "[$spname]Query failed:".mysql_error() );
 while ( $row = mysql_fetch_array ( $query ) ) {
  echo $row ['ProvinceID'].'::'.$row ['ProvinceName']; //输出数据集
 }} catch ( Exception $e ) {
 echo $e;
}

类型四:调用带返回多个结果集的方法(目前只能通过mysqli来实现~~)
//PHP
$rows = array ();  
$db = new mysqli($server,$user,$psd,$dbname);  
if (mysqli_connect_errno()){  
    $this->message('Can not connect to MySQL server');  
}  
$db->query("SET NAMES UTF8");  
$db->query("SET @Message");
if($db->real_query("call P__Test_GetData2(@Message)")){  
    do{  
        if($result = $db->store_result()){  
            while ($row = $result->fetch_assoc()){  
                array_push($rows, $row);  
            }  
            $result->close();  
        }  
    }while($db->next_result());  
}  
$db->close(); 
print_r($rows);
//Procedure 
……
select * from T1 where ……
select * from T2 where ……
……
PHP 相关文章推荐
简单采集了yahoo的一些数据
Feb 14 PHP
Dedecms常用函数解析
Feb 01 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
PHP中的array数组类型分析说明
Jul 27 PHP
PHP+MySQL删除操作实例
Jan 21 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
php用正则判断是否为数字的方法
Mar 25 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 PHP
php layui实现前端多图上传实例
Jul 30 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 #PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 #PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
Jul 03 #PHP
解析php5配置使用pdo
Jul 03 #PHP
基于PHP创建Cookie数组的详解
Jul 03 #PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 #PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 #PHP
You might like
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
js 学习笔记(三)
2009/12/29 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
python里dict变成list实例方法
2019/06/26 Python
softmax及python实现过程解析
2019/09/30 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
三下乡活动方案
2014/01/31 职场文书
军训学生自我鉴定
2014/02/12 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
教师年终个人总结
2015/02/11 职场文书
思想道德自我评价2015
2015/03/09 职场文书
观后感的写法
2015/06/19 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL