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面向对象全攻略 (三)特殊的引用“$this”的使用
Sep 30 PHP
php连接数据库代码应用分析
May 29 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
基于PHP array数组的教程详解
Jun 05 PHP
php抽奖小程序的实现代码
Jun 18 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 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
使用无限生命期Session的方法
2006/10/09 PHP
基于PHP静态类的原罪详解
2013/05/06 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
Js 中debug方式
2010/02/07 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python中open函数的基本用法示例
2019/09/07 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
浅析python函数式编程
2020/09/26 Python
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
C#如何进行LDAP用户校验
2012/11/21 面试题
美发活动策划书
2014/01/14 职场文书
协议书的格式
2014/04/23 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
《月光曲》教学反思
2016/02/16 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python