ホームページ  >  記事  >  バックエンド開発  >  PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-02 14:13:56387ブラウズ

PHP で MySQL ストアド プロシージャを使用するには: PDO または MySQLi 拡張機能を使用して MySQL データベースに接続します。ストアド プロシージャを呼び出すステートメントを準備します。ストアド プロシージャを実行します。結果セットを処理します (ストアド プロシージャが結果を返す場合)。データベース接続を閉じます。

如何在 PHP 中使用 MySQL 存储过程?

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

はじめに

MySQL ストアド プロシージャは、複雑なデータ操作を実行するために使用できる、プリコンパイルされた SQL ステートメントのグループです。 PHP では、PDO 拡張機能または MySQLi 拡張機能を使用して MySQL ストアド プロシージャと対話できます。

PDO 拡張機能を使用する

<?php
// 打开 PDO 连接
$conn = new PDO('mysql:host=localhost;dbname=database_name;charset=utf8', 
               'username', 'password');

// 设置存储过程的名称
$procedure_name = 'my_stored_procedure';

// 准备调用存储过程的语句
$stmt = $conn->prepare("CALL $procedure_name()");

// 执行存储过程
$stmt->execute();

// 处理结果集(如果存储过程返回了结果集)
$result = $stmt->fetchAll();

// 关闭连接
$conn = null;
?>

MySQLi 拡張機能を使用する

<?php
// 打开 MySQLi 连接
$mysqli = new mysqli('localhost', 'username', 'password', 'database_name');

// 设置存储过程的名称
$procedure_name = 'my_stored_procedure';

// 查询并执行存储过程
$result = $mysqli->query("CALL $procedure_name()");

// 处理结果集(如果存储过程返回了结果集)
while ($row = $result->fetch_assoc()) {
    // do something with the row
}

// 关闭连接
$mysqli->close();
?>

実際的なケース

パラメータ customer_idを受け取るストアド プロシージャ get_customer_by_id があるとします。 > そして顧客情報を返します。次のコード スニペットを使用して、PHP を使用してこのストアド プロシージャを呼び出すことができます: get_customer_by_id,它接收一个参数 customer_id 并返回客户信息。我们可以使用以下代码片段使用 PHP 调用此存储过程:

// 用 PHP 调用 get_customer_by_id 存储过程
$customer_id = 123;
$result = $mysqli->query("CALL get_customer_by_id($customer_id)");
$customer = $result->fetch_assoc();

然后,我们就可以访问 $customerrrreee

その後、$customer 配列にアクセスして、指定された顧客の詳細を取得できます。 🎜

以上がPHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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