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 ;
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);
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);
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'];
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!