この記事は、PHP で MySQL ストアド プロシージャを呼び出す方法をまとめたものです。必要な方は参考にしてください。
タイプ 1: 入力および出力型パラメーターを使用したメソッドの呼び出し
コードをコピー コードは次のとおりです。
$returnValue = '';
試してみてください{
mysql_query ( "set @Return" );
$spname = 'P__Test_GetInfo1';
mysql_query ( "call $spname(@Return, '{$userId}', '{$pwd}')" ) または die ( "[$spname]Query failed:" . mysql_error () );
$result_return = mysql_query ( "select @Return" );
$row_return = mysql_fetch_row ( $result_return );
$returnValue = $row_return [0];
} catch (例外 $e) {
エコー $e;
}
echo $returnValue; // ストアド プロシージャから出力される出力変数
タイプ 2: 複数の出力型と複数の入力型パラメーターを使用したメソッドの呼び出し
コードをコピー コードは次のとおりです。
$userId = 0;
試してください{
Mysql_query("set @Message");
Mysql_query("@Id を設定");
Mysql_query("call P__Test_Login(@Message, @Id, '{$userId}', '{$pwd}')", $conn) または 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(例外 $e)
{
エコー $e;
}
echo 'proc return message:'$Proc_Error.'
' //ストアドプロシージャから出力された変数を出力します
echo 'ユーザー ID:'.$uId; // ユーザー ID を取得します。
タイプ 3: 結果セットを返すメソッドの呼び出し
コードをコピー コードは次のとおりです。
試してみてください{
$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 (例外 $e) {
エコー $e;
}
タイプ 4: 複数の結果セットを返すメソッドの呼び出し (現在は mysqli~~ を介してのみ可能)
コードをコピー コードは次のとおりです。
//PHP
$rows = 配列 ();
$db = 新しい mysqli($server,$user,$psd,$dbname);
if (mysqli_connect_errno()){
$this->message('MySQL サーバーに接続できません');
}
$db->query("SET NAMES UTF8");
$db->query("SET @Message");
if($db->real_query("call P__Test_GetData2(@Message)")){
する{
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);
//手順
…
select * from T1 where ……
select * from T2 where ……
……
http://www.bkjia.com/PHPjc/372461.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/372461.html
技術記事
この記事は、PHP で MySQL ストアド プロシージャを呼び出す方法をまとめたものです。必要な方は、「タイプ 1: 入力および出力型パラメータを使用したメソッドの呼び出し」を参照してください。コードは次のとおりです。