Heim > Datenbank > MySQL-Tutorial > Wie rufe ich gespeicherte MySQL-Prozeduren mit Eingabe- und Ausgabeparametern in PHP auf?

Wie rufe ich gespeicherte MySQL-Prozeduren mit Eingabe- und Ausgabeparametern in PHP auf?

Mary-Kate Olsen
Freigeben: 2024-11-07 04:09:03
Original
225 Leute haben es durchsucht

How to Call MySQL Stored Procedures with Both Input and Output Parameters in PHP?

Aufrufen von gespeicherten MySQL-Prozeduren mit Eingabe- und Ausgabeparametern (nicht „INOUT“-Parametern) in PHP

Einführung:

Das Aufrufen gespeicherter MySQL-Prozeduren aus PHP ist eine häufige Aufgabe, aber wenn es um Eingabe- und Ausgabeparameter geht, kann sie komplexer sein. Dieser Artikel führt Sie durch den spezifischen Ansatz, der erforderlich ist, um solche Aufrufe über die prozedurale Schnittstelle von MySQLi durchzuführen.

Konfiguration der gespeicherten Prozedur:

Betrachten Sie die folgende gespeicherte Prozedur in MySQL:

DELIMITER $$
CREATE PROCEDURE `test_proc`(
    IN input_param_1 INT,
    IN input_param_2 INT,
    IN input_param_3 INT,
    OUT output_sum INT,
    OUT output_product INT,
    OUT output_average INT
)
BEGIN
    SET output_sum = input_param_1 + input_param_2 + input_param_3;
    SET output_product = input_param_1 * input_param_2 * input_param_3;
    SET output_average = (input_param_1 + input_param_2 + input_param_3) / 3;
END$$
DELIMITER ;
Nach dem Login kopieren

Bindende Eingabe- und Ausgabeparameter:

Um die gespeicherte Prozedur aufzurufen und sowohl Eingabe- als auch Ausgabeparameter anzugeben, verwenden Sie die Funktion mysqli_stmt_bind_param():

mysqli_stmt_bind_param($call, 'iii', $procInput1, $procInput2, $procInput3);
Nach dem Login kopieren

wobei $procInput1, $procInput2 und $procInput3 die Eingabeparameter sind.

Um die Ausgabeparameter abzurufen, müssen Sie Benutzervariablen in Ihrer gespeicherten Prozedur verwenden und anschließend deren Werte abrufen Ausführen des Aufrufs:

$select = mysqli_query($mysqli, 'SELECT @sum, @product, @average');
$result = mysqli_fetch_assoc($select);
Nach dem Login kopieren

wobei $select eine Abfrage ist, die die von der gespeicherten Prozedur festgelegten Benutzervariablen (@sum, @product, @average) abruft.

Code Beispiel:

Hier ist ein vollständiges Codebeispiel:

$procInput1 = 123;
$procInput2 = 456;
$procInput3 = 789;

$mysqli = mysqli_connect();

$call = mysqli_prepare($mysqli, 'CALL test_proc(?, ?, ?, @sum, @product, @average)');
mysqli_stmt_bind_param($call, 'iii', $procInput1, $procInput2, $procInput3);
mysqli_stmt_execute($call);

$select = mysqli_query($mysqli, 'SELECT @sum, @product, @average');
$result = mysqli_fetch_assoc($select);

$procOutput_sum     = $result['@sum'];
$procOutput_product = $result['@product'];
$procOutput_average = $result['@average'];
Nach dem Login kopieren

Indem Sie diese Schritte befolgen, können Sie erfolgreich gespeicherte MySQL-Prozeduren aufrufen, die sowohl Eingabe- als auch Ausgabeparameter erfordern.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage