ホームページ > バックエンド開発 > PHPチュートリアル > php_PHP チュートリアルで MySQL ストアド プロシージャを呼び出すためのメソッドのコレクション

php_PHP チュートリアルで MySQL ストアド プロシージャを呼び出すためのメソッドのコレクション

WBOY
リリース: 2016-07-20 11:16:46
オリジナル
981 人が閲覧しました

この記事は、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

tru​​e

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

技術記事

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート