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面向对象分析设计的经验原则
Sep 20 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php中header设置常见文件类型的content-type
Jun 23 PHP
详细解读PHP中接口的应用
Aug 12 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 PHP
PHP递归统计系统中代码行数
Sep 19 PHP
php获取小程序码的实现代码(B类接口)
Jun 13 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
实现树状结构的两种方法
2006/10/09 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
深入理解js promise chain
2016/05/05 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
Python处理XML格式数据的方法详解
2017/03/21 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
Python控制Firefox方法总结
2019/06/03 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
python三引号如何输入
2020/07/06 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
HTML5计时器小例子
2013/10/15 HTML / CSS
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
大学生求职信范文应怎么写
2014/01/01 职场文书
文科教师毕业的自我评价
2014/01/16 职场文书
活动策划邀请函
2014/02/06 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
单位绩效考核方案
2014/05/11 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
采购员岗位职责范本
2015/04/07 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL