ホームページ > バックエンド開発 > PHPの問題 > PHPでストアドファンクションを呼び出すにはどうすればよいですか?ストアド プロシージャを呼び出しますか?きっかけは何ですか?

PHPでストアドファンクションを呼び出すにはどうすればよいですか?ストアド プロシージャを呼び出しますか?きっかけは何ですか?

慕斯
リリース: 2023-03-10 22:48:01
オリジナル
1829 人が閲覧しました

PHP についてたくさんのことを学びましたが、PHP でストアド関数を呼び出す方法がわかりません。ストアド プロシージャを呼び出しますか?きっかけは何ですか?完全にマスターしましたか?まだマスターしていない場合は、この記事に従って学習を続けてください。

関連する推奨事項:PHP での is、 between、in、および other 演算子の使用法は何ですか?

#php でストアド関数またはストアド プロシージャを使用するための手順

//ストアド関数の呼び出し:

$v1= $_POST["a];sv2 = $_POST["b];
$sq1 = "insert into tab1 (id, f2, f3)values ( null,nowO. fumnc1(Sv1 , $v2) )":$result= mysql_query($sql);
ログイン後にコピー

//ストアド プロシージャを呼び出す:

$v1 = $_POST[ "usemame"];$v2=$_POST["pass"];sv3= $_POST["age"];
$sql ="callinsert_user(Sv1,$v2,$v3 ); ";llinsert_user)是一个存储过程,带3个参数,会将该3个参数数据写入<insert〉某个表中。
Sresult = mysql_queryO;
ログイン後にコピー

ストアド プロシージャを使用して結果セットを返す別の例

$sql m"call Get_User_iInfo( sid )“;//Get_User_info)是一个存储过程,其中会返回某个指定id 的用户信息$result = mysql_query(ssql);
ログイン後にコピー

ここで得られるものは、 "結果セット "

トリガー (トリガー)

意味:

トリガーも事前定義されたプログラミング コードです。<と同じです。ストアド プロシージャとストアド ファンクション〉という名前が付いています。ただし、呼び出すことはできませんが、特定のテーブルでイベント (追加、削除、変更) が発生すると、自動的に「トリガー」されて呼び出されます。 ##
create trigger触发器名︰触发时机触发事件on表名foreach rowasbegin
//这里,才是编程的位置,也就是触发器的内部语句end3
ログイン後にコピー

手順:

1、トリガーのタイミングは 2 つだけです: before《before...)、after》 ﹔2. トリガー イベントは 3 つだけです: insert 、update、delete

2。トリガー イベントは 3 つだけです: insert、update、delete3。つまり、トリガーの意味は次のとおりです。挿入前 (または挿入後) (または特定のテーブルで更新、または削除)を実行すると、そのテーブルに記述されたコード(ステートメント)が実行されます。つまり、各テーブルにはトリガー

4 を呼び出すことができる状況が 6 つだけあります。通常、トリガーはテーブルを追加、削除、または変更するときに使用され、同時に別のことを行う必要がある; 5. トリガー内には、データを取得するために使用できる、ある種の特定の意味を表す 2 つのキーワードがあります:

new:

これは、挿入更新が現在実行されているときの「新しい行」データを表します。これを通じて、この新しい行のデータの任意のフィールドの値を取得できます。形式:

set@v1 = new.id;
ログイン後にコピー

//新しく挿入または更新された行の id フィールドの値を取得します (id が存在する場合)

set@v2 = new.age;//同上,
ログイン後にコピー
old:

これは、削除が現在実行されているときの「古い行」データを表します。これを通じて、この古い行データの任意のフィールドの値を次の形式で取得できます:

set @v1 = old.id:I
ログイン後にコピー

ID フィールドの値を取得する新しく挿入または更新された行の (ID が存在する場合)

set @v2 = old.age;//同上;
ログイン後にコピー

#最初に tab_int_max 内のすべてのデータを削除します:

delete from tab_int_max1;
ログイン後にコピー

#Get tab_int f1 フィールドの最大値が格納されます変数 @maxfselect max(f1) into @maxf1 from tab_int;

#すると、取得した f1 フィールドの最大値を条件として、3 つのフィールドが取り出されます。 値:

select f2 into @v2 from tab_int where f1 = @maxf1;
select f3 into @v3 from tab_int _ where f1 = @maxf1;#然后,将@maxf1,@v2,@v3插入到表tab_int_max1
insert into tab_int_max1 (f1,f2,f3)values( @maxf1,@v2,@v3);end;
#再建一个触发器,在表tab_int进行insert之前,将该行数据#也同时插入到一个跟其类似结果的表(tab_int_some)中
:CREATE TABLE tab_int_some (
id int(11) DEFAULT NULL,age tinyint(4) DEFAULT NULL);
create trigger copy_data before insert on tab_int for each rowbegin
set @v1 = new.f1;
#获得新行的字段f1的值;
set @v2 = new.f2;#获得新行的字段f2的值;
insert into tab_int_some(id,age)values(@v1,@v2);end;
ログイン後にコピー

推奨される学習:

php ビデオ チュートリアル

以上がPHPでストアドファンクションを呼び出すにはどうすればよいですか?ストアド プロシージャを呼び出しますか?きっかけは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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