ホームページ  >  記事  >  データベース  >  PHP で MySQL ストアド プロシージャを呼び出す方法

PHP で MySQL ストアド プロシージャを呼び出す方法

PHPz
PHPzオリジナル
2023-04-17 16:41:39835ブラウズ

MySQL と PHP は Web 開発でよく使われる技術ですが、その中でもストアド プロシージャは MySQL の重要な機能です。この記事では、MySQL ストアド プロシージャを紹介し、PHP 言語と組み合わせて実装します。

  1. MySQL ストアド プロシージャとは何ですか?

MySQL ストアド プロシージャは、プログラム内で定義して呼び出すことができる再利用可能な SQL コード ブロックです。これは、パラメーターを受け入れて値を返す関数に似ています。ストアド プロシージャは MySQL サーバー側に保存し、クライアント コードから呼び出すことができます。

  1. ストアド プロシージャの利点
  • コードの再利用性を向上させ、SQL ステートメントの繰り返しを回避します;
  • データ セキュリティのセキュリティを強化し、アクセス制御を実行できます。ストアド プロシージャを介して出力;
  • パフォーマンスが向上し、ストアド プロシージャがサーバー側で実行され、ネットワーク通信のオーバーヘッドが削減されます。
  • 複数の SQL ステートメントを呼び出すことでデータベースの対話を削減でき、データベースの負担が軽減されます。
  1. MySQL ストアド プロシージャの基本構文

MySQL ストアド プロシージャの構文は、他の言語の関数やプロシージャと似ています。これは、CREATE、PROCEDURE、END の 3 つのキーワードで構成されます。 CREATE PROCEDURE キーワードの後に​​ストアド プロシージャの名前とパラメータ リストが続き、次にストアド プロシージャの本体、最後に END キーワードが続きます。

以下は簡単な MySQL ストアド プロシージャの例です:

CREATE PROCEDURE `get_employee`(IN id INT, OUT name VARCHAR(50), OUT age INT)
BEGIN
  SELECT `name`, `age` INTO name, age FROM `employee` WHERE `id` = id;
END

上記のストアド プロシージャは id パラメータを受け取り、その ID に対応する名前と年齢を従業員テーブルからクエリし、割り当てます。名前と年齢の出力パラメータ。

  1. PHP での MySQL ストアド プロシージャの呼び出し

PHP コードで MySQL ストアド プロシージャを呼び出すのは非常に簡単です。ストアド プロシージャを呼び出すには、MySQLi 拡張機能または PDO 拡張機能によって提供される CALL ステートメントを使用できます。以下は、MySQLi 拡張機能を使用して MySQL ストアド プロシージャを呼び出すサンプル コードです。

// 配置连接参数
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 建立连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// 调用存储过程
$id = 1;
$stmt = $conn->prepare("CALL get_employee(?, ?, ?)");
$stmt->bind_param("i", $id);
$stmt->bind_result($name, $age);
$stmt->execute();
$stmt->fetch();
$stmt->close();

echo "Name: ".$name.", Age: ".$age;

上記のコードは、MySQL データベースに接続し、CALL ステートメントを通じて get_employee という名前のストアド プロシージャを呼び出し、 idパラメータ。次に、bind_result メソッドを使用してストアド プロシージャの出力パラメータを PHP 変数にバインドし、最後にストアド プロシージャを実行し、fetch メソッドを使用して出力パラメータ値を取得します。

  1. 概要

MySQL ストアド プロシージャは、コードの再利用性の向上、データ セキュリティの強化、パフォーマンスの向上、データベース インタラクションの削減を可能にする非常に実用的な機能です。 PHP コードで MySQL ストアド プロシージャを呼び出すのも非常に簡単で、MySQLi 拡張機能または PDO 拡張機能によって提供される CALL ステートメントを使用するだけです。この記事が、MySQL ストアド プロシージャと PHP でのストアド プロシージャ呼び出しについての理解を深めるのに役立つことを願っています。

以上がPHP で MySQL ストアド プロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。