この記事では、PHP で mysql ストアド プロシージャを呼び出して実行し、ストアド プロシージャによって返される値を返す方法について詳しく説明します。詳しく知りたい学生は参照してください。
。ストアド プロシージャを呼び出すメソッド。
あ。ストアド プロシージャに IN/INOUT パラメータがある場合は、変数を宣言し、パラメータをストアド プロシージャに入力します。変数は PHP 変数のペアです (必須ではありませんが、パラメータがない場合に動的入力を実行する方法はありません)。 PHP 変数) と Mysql 変数。
b.ストアド プロシージャに OUT 変数がある場合は、Mysql 変数を宣言します。 mysql 変数の宣言は特別であり、mysql サーバーはこの変数の存在を認識している必要があります。これは、mysql ステートメントを実行することを意味します。 set @mysqlvar=$phpvar と入力します ;
c. mysql_query()/mysql_db_query() を使用して、mysql 変数宣言ステートメントを実行します。
コードは次のとおりです | コードをコピー |
mysql_query("set @mysqlvar【=$pbpvar】"); |
このように、mysql サーバーには変数 @mysqlar が存在します。 IN パラメータの場合、その値は phpar から渡すことができます
例
mysqli関数インスタンスを使用する
まず mysql でストアド プロシージャを作成します
コードは次のとおりです | コードをコピー |
mysql> 区切り文字 // |
その後php中如下写
代码如下 | 复制幣 | ||||||
従業員リスト<フォームメソッド="投稿" > 部門 ID を入力してください:
$hostname = "ローカルホスト"; if (IsSet ($_POST['submit'])) { $dbh = new mysqli($hostname, $username, $password, $database); /* 接続を確認します */ if ($result_set = $dbh->query("callemployee_list( $dept_id )")) {
$dbh->close(); } ?> |
核心代码就是
代码如下 | 复制幣 |
$result_set = $dbh->query("callemployee_list( $dept_id )") |
これ句了employee_listは我们のmysql存储过程了