PHP ストアド プロシージャ呼び出しのサンプル コード_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:13:26
オリジナル
773 人が閲覧しました

コードをコピーします コードは次のとおりです:

//たとえば、呼び出されるストアドプロシージャは gxtj(a,b) です
$db=new mysqli("localhost","ssss", "aaaaa","bbbb" );
mysqli_query($db,"SET NAMES utf8");
$result=$db->query("call gxtj($year,$jd)"); mysql のストアド プロシージャ名 [color =gray][/color]
while( $row = $result->fetch_array(MYSQLI_ASSOC)) //返された結果セットからの行のフェッチを完了します
{
while ($key= key($row)){ //フィールド名を順番に取得
$value=current($row) //フィールドの値を順番に取得
}
}


例 1: パラメーターのないストアド プロシージャ

コードをコピーします コードは次のとおりです:

$conn = mysql_connect('localhost','root','root') or die ("データ接続エラー!!! ");
mysql_select_db('test',$conn);
$sql = "
プロシージャ myproce() を作成
begin
ユーザー (ID、ユーザー名、性別) の値 (NULL、's'、' 0') ;
end
";
mysql_query($sql);//myproce ストアド プロシージャを作成します

$sql = "call test.myproce();";
mysql_query($sql);//myproce のストアド プロシージャを呼び出すと、新しいレコードがデータベースに追加されます。

例 2: パラメーターが渡されたストアド プロシージャ

コードをコピー コードは次のとおりです:

$sql = "
create プロシージャ myproce2(in core int)
begin
ifスコア >= 60 then
select ' pass';
else
select 'no';
end if;
end;
";
mysql_query($sql);//myproce2 ストアド プロシージャを作成します
$sql = "call test.myproce2(70) ;" ;
mysql_query($sql);//myproce2 のストアド プロシージャを呼び出しますが、効果は確認できません。結果は cmd で確認できます。

例 3: パラメーターを渡すストアド プロシージャ

コードをコピー コードは次のとおりです:

$sql = "
createproceduremyproce3(out core int)
begin
set core=100;
end ;
" ;
mysql_query($sql);//myproce3のストアドプロシージャを作成する
$sql = "call test.myproce3(@score);";
mysql_query($sql);//myproce3のストアドプロシージャを呼び出す
$result = mysql_query('select @score;');
$array = mysql_fetch_array($result);
echo '
';print_r($array);

例 4: パラメーターを渡す inout ストアド プロシージャ

コードをコピー コードは次のとおりです:

$sql = "
createprocedure myproce4(inout sexflag int)
begin
SELECT * FROM user WHERE sex = sexflag;
end;
";
mysql_query($sql);//myproce4 ストアド プロシージャを作成します
$sql = "set @sexflag = 1";
mysql_query($sql);//性別パラメータを 1 に設定します
$sql = "call test.myproce4(@sexflag);";
mysql_query($sql);//myproce4 のストアド プロシージャを呼び出し、cmd での効果を確認します

例 5: 変数を使用したスト​​アド プロシージャ

コードをコピーします コードは次のとおりです:

$sql = "
createproceduremyproce5(in a int, in b int)
begin
declare s int default 0;
set s=a+b;
select s;
end;
";
mysql_query($sql);//myproce5 ストアド プロシージャを作成します
$sql = "call test.myproce5(4,6);" ;
mysql_query($sql);//myproce5 のストアド プロシージャを呼び出し、cmd での効果を確認します

例 6: case 構文

コードをコピー コードは次のとおりです:

$sql = "
プロシージャmyproce6を作成(スコアint)
begin
ケーススコア
when 60 then select 'pass';
when 80 then select ' Good' ;
100 の場合は 'Excellent' を選択します;
else は '不明なスコア' を選択します;
end case;
end;
";
mysql_query($sql);//myproce6 ストアド プロシージャを作成します
$sql = "call test .myproce6(100);";
mysql_query($sql);//myproce6 のストアド プロシージャを呼び出し、cmd での効果を確認します

例 7: ループステートメント

コードをコピー コードは次のとおりです:

$sql = "
createproceduremyproce7()
begin
declare i int default 0;
declare j int default 0;
while i<10 do
set j= j+i;
set i=i+1;
end while;
select j;
end;
";
mysql_query($sql);//myproce7 ストアド プロシージャを作成します
$sql = "call test .myproce7 ();";
mysql_query($sql);//myproce7 のストアド プロシージャを呼び出し、cmd での効果を確認します

例 8: ステートメントの繰り返し

コードをコピー コードは次のとおりです:

$sql = "
createproceduremyproce8()
begin
declare i intdefault0;
declarej intdefault0;
repeat
set j=j +i;
set i=i+1;
until j>=10
endrepeat;
select j;
end;
";
mysql_query($sql);//myproce8 ストアド プロシージャを作成します
$sql = " call test .myproce8();";
mysql_query($sql);//myproce8 のストアド プロシージャを呼び出し、cmd での効果を確認します

例 9: ループステートメント

コードをコピー コードは次のとおりです:

$sql = "
createproceduremyproce9()
begin
declare i int default 0;
declare s int default 0;

loop_label:loop
set s=s+i;
set i=i+1;
if i>=5 then
leave loop_label;
end if;
end ループ;
select
";
mysql_query($sql);//myproce9 のストアド プロシージャを作成します
$sql = "call test.myproce9();";
mysql_query($sql);//myproce9 のストアド プロシージャを呼び出し、cmd での効果を確認します

例 10: ストアド プロシージャを削除する

mysql_query("dropprocedureifexistsmyproce");//testのストアドプロシージャを削除する

例10:ストアドプロシージャ内のカーソル
まとめ。

http://www.bkjia.com/PHPjc/326478.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/326478.html技術記事次のようにコードをコピーします。 //たとえば、呼び出されるストアド プロシージャは gxtj(a,b) $db=new mysqli("localhost","ssss","aaaaa","bbbb"); db,"SET NAMES utf8"); $result=$db-query("ca...
)
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!