1. MySQL ストアド プロシージャの概要
MySQL ストアド プロシージャは、SQL ステートメントをカプセル化するプログラミング言語であり、主に単一のトランザクションで使用されます。声明。 MySQL では、ストアド プロシージャには、
パフォーマンスの向上など、多くの利点があります。ストアド プロシージャを使用すると、データベースとの通信の数が減り、データベースのパフォーマンスが向上します。
セキュリティを向上させます。ストアド プロシージャでは、データに対してより厳密なアクセス許可制御を実装できるため、データベースの保守、管理、使用の安全性が高まります。
2. PHP で MySQL ストアド プロシージャを実装する方法
次に、PHP で MySQL ストアド プロシージャを実装する方法について説明します。DELIMITER // CREATE PROCEDURE `get_user_info`(IN `user_id` INT(11), OUT `user_name` VARCHAR(50), OUT `user_email` VARCHAR(100)) BEGIN SELECT `name`, `email` INTO `user_name`, `user_email` FROM `users` WHERE `id` = `user_id`; END // DELIMITER ;上記のコードは、まず DELIMITER キーワードを使用してストアド プロシージャの開始タグと終了タグを定義し、次に get_user_info という名前のストアド プロシージャを定義します。このストアド プロシージャには、入力パラメータ user_id と2 つの出力パラメータ user_name と user_email。この文は、SELECT コマンドを使用してデータベースからユーザー情報を取得し、それを出力パラメーターに割り当てるストアド プロシージャのように書き直すことができます。
$db_connection = mysqli_connect("localhost", "user_name", "password", "database_name");ここで、localhost は MySQL データベースのホスト名、user_name とpassword は MySQL データベースにログインするためのユーザー名とパスワード、database_name は接続するデータベースの名前です。
$user_id = 123; $user_name = ""; $user_email = ""; $stmt = $db_connection->prepare("CALL get_user_info(?, ?, ?)"); $stmt->bind_param("iss", $user_id, $user_name, $user_email); $stmt->execute(); $stmt->bind_result($user_name, $user_email); $stmt->fetch(); echo "User Name: " . $user_name . "\n"; echo "User Email: " . $user_email . "\n";上記のコードは、まず $user_id 変数をストアド プロシージャの入力パラメータとして定義し、mysqli_prepare() 関数を使用して SQL ステートメントを準備し、次に mysqli_stmt_bind_param() 関数を使用してバインドします。 SQL ステートメントの途中に入力パラメータを追加します。次に、mysqli_stmt_execute() 関数を使用して SQL ステートメントを実行し、結果を変数 $user_name と $user_email にバインドします。最後のステップでは、mysqli_stmt_fetch() 関数を使用して結果セット内のデータを抽出し、echo ステートメントを使用して結果を出力します。
以上がPHP で MySQL ストアド プロシージャを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。