ストアド プロシージャと関数は MySql5.0 で導入されたばかりです。 PHP ではこの操作を直接サポートしていません。ただし、Mysql PHP API の設計により、以前の PHP バージョンの mysql php API のストアド プロシージャと関数の呼び出しをサポートできます。
phpでストアドプロシージャと関数を呼び出します。
1.ストアド プロシージャを呼び出すメソッド。
ストレージ プロシージャに IN/INOUT パラメーターがあり、変数を宣言し、入力パラメーターがストアド プロシージャに与えられる場合、変数はペアであり、
PHP 変数 (そうでない場合もありますが、PHP 変数はありません。動的入力を実行する方法)、mysql
変数。
b.ストアド プロシージャに OUT 変数がある場合は、Mysql 変数を宣言します。
mysql 変数の宣言は特別であり、mysql サーバーはこの変数の存在を認識している必要があります。これは、mysql ステートメントを実行することを意味します。
set @mysqlvar=$phpvar と入力します。 mysql_query()/mysql_db_query() を使用して、mysql 変数宣言ステートメントを実行します。
. "); IN パラメータの場合、その値は phpar から渡すことができます。
d. ストアドプロシージャの場合。
1. callprocedure()ステートメントを実行します。 Q q is mysql_query("Call Proceduer ([VAR1] ...)");
2. 戻り値がある場合は、select @AR を実行し、実行結果を返します。 Q mysql_query ("Select @var)"
次の操作は、PHP の一般的な MySQL ステートメントと同じです。結果は、mydql_fetch_row() などの関数を通じて取得できます。
If 関数 select function() を直接実行するだけです。
$host="localhost";
$user="root";
$password="11212";$db="samp_db";
$dblink=mysql_connect($host,$user,$password)または die("mysql に接続できません");
mysql_select_db($db,$dblink) または die("samp_db を選択できません");
$res=mysql_query("set @a=$password", $dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
エコー $row[0];