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 相关文章推荐
PHP中,文件上传
Dec 06 PHP
php执行sql语句的写法
Mar 10 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
php header函数的常用http头设置
Jun 25 PHP
PHP闭包函数详解
Feb 13 PHP
PHP自定义函数获取汉字首字母的方法
Dec 01 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
php和redis实现秒杀活动的流程
Jul 17 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 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修改NetBeans默认字体的大小
2013/07/02 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
php时间戳转换代码详解
2019/08/04 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
Python中的多重装饰器
2015/04/11 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
Win8下python3.5.1安装教程
2020/07/29 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
2014年国庆节活动总结
2014/08/26 职场文书
护理医院见习报告
2014/11/03 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python
深入理解go缓存库freecache的使用
2022/02/15 Golang