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 相关文章推荐
将数组写入txt文件 var_export
Apr 21 PHP
PHP 引用是个坏习惯
Mar 12 PHP
php中的观察者模式
Mar 24 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
php中的动态调用实例分析
Jan 07 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
php中bind_param()函数用法分析
Mar 28 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 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
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
php事务处理实例详解
2014/07/11 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
JS实现标签页切换效果
2017/05/04 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
JavaScript异步加载问题总结
2018/02/17 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python读写文件write和flush的实现方式
2020/02/21 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
python脚本定时发送邮件
2020/12/22 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
公司财务自我评价分享
2013/12/17 职场文书
新员工欢迎词
2014/01/12 职场文书
开学季活动策划方案
2014/02/28 职场文书
钳工实训报告总结
2014/11/04 职场文书
2014年保育员工作总结
2014/12/02 职场文书
初中团委工作总结
2015/08/13 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
Redis 哨兵集群的实现
2021/06/18 Redis