Home  >  Article  >  Backend Development  >  Collection of methods for calling MySQL stored procedures in php_PHP tutorial

Collection of methods for calling MySQL stored procedures in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:16:46976browse

This article is a collection and summary of the methods of calling MySQL stored procedures in PHP. Friends in need can refer to it. ​

Type 1: Calling a method with input and output type parameters

Copy code The code is as follows:
$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; //Output variables output from the stored procedure


Type 2: Calling a method with multiple output types and multiple input type parameters

Copy code The code is as follows:
$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.'
'; //Output the variables output from the stored procedure
echo 'User id:'.$uId; //Get user id


Type 3: Calling a method that returns a result set

Copy code The code is as follows:
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']; //Output data set
}

} catch (Exception $e) {
echo $e;
}


Type 4: Calling a method that returns multiple result sets (currently only possible through mysqli~~)

Copy code The code is as follows:


//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 ……
……

http://www.bkjia.com/PHPjc/372461.html

truehttp: //www.bkjia.com/PHPjc/372461.htmlTechArticleThis article collects and summarizes the methods of calling MySQL stored procedures in PHP. Friends who need it can refer to the following types 1: Call a method with input and output type parameters. Copy the code. The code is as follows...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn