ホームページ  >  記事  >  バックエンド開発  >  MySQL ストアド プロシージャを呼び出して値を返す PHP メソッド、mysql ストアド プロシージャ_PHP チュートリアル

MySQL ストアド プロシージャを呼び出して値を返す PHP メソッド、mysql ストアド プロシージャ_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:10:37929ブラウズ

MySQLストアドプロシージャを呼び出して値を返すPHPメソッド、mysqlストアドプロシージャ

この記事の例では、PHP で mysql ストアド プロシージャを呼び出して実行し、ストアド プロシージャによって返された値を返す方法について説明します。参考のために共有したいと思います。具体的な分析は次のとおりです:

ストアド プロシージャを呼び出すメソッド。

あ。ストアド プロシージャに IN/INOUT パラメータがある場合は、変数を宣言してストアド プロシージャにパラメータを入力します。ただし、PHP 変数がない場合は、変数を動的に入力する方法はありません。 Mysql 変数を入力します。

b.ストアド プロシージャに OUT 変数がある場合、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> 区切り文字 //
mysql> CREATE PROCEDURE 従業員リスト (OUT param1 INT)
-> 始めましょう -> SELECT COUNT(*) INTO param1
->終了
-> //
クエリは OK、影響を受ける行は 0 行あります (0.00 秒)

次にphpに次のように記述します。コードは次のようになります:


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

従業員リスト

<フォームメソッド="投稿" >

部門 ID を入力してください:

$ホスト名 = "ローカルホスト"; $ユーザー名 = "ルート"; $パスワード = "秘密"; $database = "製品"; if (IsSet ($_POST['submit'])) {
$dbh = 新しい mysqli($ホスト名, $ユーザー名, $パスワード, $データベース); /* 接続を確認します */
If (mysqli_connect_errno()) {
printf("接続に失敗しました: %sn", mysqli_connect_error()); 終了 (); }
$dept_id = $_POST['dept_id']
If ($result_set = $dbh->query("callemployee_list( $dept_id )")) {
print ('

'。
'');
while ($row = $result_set->fetch_object()) {
printf( "&lt; tr&gt;&lt; td&gt;%s&lt;/td&gt;&lt; td&gt;%s&lt;/td> $row->従業員 ID、$row->姓、$row->名);                                                      } その他 {
printf("

エラー:%d (%s) %sn", mysqli_errno($dbh),
mysqli_sqlstate($dbh)、mysqli_error($dbh)); }
印刷 ("

従業員 ID
"); $dbh->close(); }
?>

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



コードをコピーします

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

$result_set = $dbh->query("callemployee_list( $dept_id )")

このemployee_listはmysqlストアドプロシージャです。

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/933606.html技術記事 PHP で MySQL ストアド プロシージャを呼び出して値を返す方法、mysql ストアド プロシージャを PHP で呼び出して実行し、ストアド プロシージャによって返された値を返す例について説明します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。