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;//同上,
これは、削除が現在実行されているときの「古い行」データを表します。これを通じて、この古い行データの任意のフィールドの値を次の形式で取得できます:
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 サイトの他の関連記事を参照してください。