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 相关文章推荐
php5中类的学习
Mar 28 PHP
php表单提交问题的解决方法
Apr 12 PHP
php页面缓存ob系列函数介绍
Oct 18 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
php处理restful请求的路由类分享
Feb 27 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP dirname功能及原理实例解析
Oct 28 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命名空间学习详解
2014/02/27 PHP
浅谈php命令行用法
2015/02/04 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
法学专业应届生求职信
2013/10/16 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
大学生社会实践评语
2014/04/25 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
离婚协议书范本
2015/01/26 职场文书
学生会个人总结范文
2015/02/15 职场文书
法院个人总结
2015/03/03 职场文书
红色电影观后感
2015/06/18 职场文书
关于五一放假的通知
2015/08/18 职场文书
初中地理教学反思
2016/02/19 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js