熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

php調用MySQL存儲過程的方法集合

2013-11-15 12:38:09  來源: PHP編程 
本篇文章是對php調用MySQL存儲過程的方法進行了集合與匯總需要的朋友參考下  

  類型一調用帶輸入輸出類型參數的方法

復制代碼 代碼如下:
$returnValue = ;
try {
 mysql_query ( "set @Return" );
 $spname = P__Test_GetInfo;
 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 [];
} catch ( Exception $e ) {
 echo $e;
}
echo $returnValue; //輸出來自存儲過程中輸出的變量

  
類型二調用帶多個輸出類型和多個輸入類型參數的方法

復制代碼 代碼如下:
$userId = ;
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[];
    $uId = $row_uid[];
}
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 UTF"); 
$db>query("SET @Message");
if($db>real_query("call P__Test_GetData(@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 T where ……
select * from T where ……
……


From:http://tw.wingwit.com/Article/program/PHP/201311/21323.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.