您当前的位置: 首页 > 网站编程 > PHP教程 > php调用MySQL存储过程的方法集合

php调用MySQL存储过程的方法集合

作者:不详 来源:网络 发布时间: 2014-08-15 09:04 点击:
本篇文章是对php调用MySQL存储过程的方法进行了集合与汇总,需要的朋友参考下 类型一:调用带输入、输出类型参数的方法 复制代码 代码如下: $returnValue = ''; try { mysql_query ( set @Return ); $spname = 'P__Test_GetInfo1'; mysql_query ( call $spname(@Return

php调用MySQL存储过程的方法集合

  本篇文章是对php调用MySQL存储过程的方法进行了集合与汇总,需要的朋友参考下

  类型一:调用带输入、输出类型参数的方法

  


  复制代码 代码如下:

  $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调用MySQL存储过程的方法集合"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4