Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich gespeicherte MySQL-Prozeduren in PHP?

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP?

WBOY
WBOYOriginal
2024-06-02 14:13:56387Durchsuche

So verwenden Sie gespeicherte MySQL-Prozeduren in PHP: Stellen Sie über PDO oder die MySQLi-Erweiterung eine Verbindung zu einer MySQL-Datenbank her. Bereiten Sie die Anweisung zum Aufrufen der gespeicherten Prozedur vor. Führen Sie die gespeicherte Prozedur aus. Verarbeiten Sie die Ergebnismenge (wenn die gespeicherte Prozedur Ergebnisse zurückgibt). Schließen Sie die Datenbankverbindung.

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

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP?

Einführung

MySQL-gespeicherte Prozeduren sind eine Gruppe vorkompilierter SQL-Anweisungen, die zum Ausführen komplexer Datenoperationen verwendet werden können. In PHP können wir mit gespeicherten MySQL-Prozeduren mithilfe der PDO-Erweiterung oder der MySQLi-Erweiterung interagieren.

Verwenden Sie die PDO-Erweiterung

<?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;
?>

Verwenden Sie die MySQLi-Erweiterung

<?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();
?>

Praktischer Fall

Angenommen, wir haben eine gespeicherte Prozedur get_customer_by_id, die einen Parameter customer_idempfängt > Und Kundeninformationen zurückgeben. Wir können diese gespeicherte Prozedur mit PHP mithilfe des folgenden Codeausschnitts aufrufen: 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

Anschließend können wir auf das Array $customer zugreifen, um die Details eines bestimmten Kunden abzurufen. 🎜

Das obige ist der detaillierte Inhalt vonWie verwende ich gespeicherte MySQL-Prozeduren in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn