Ausgabeparameterwerte in gespeicherten PHP-Prozeduren abrufen
Im Bereich der gespeicherten PHP- und MySQL-Prozeduren kann es vorkommen, dass Sie dies benötigen um auf den Wert eines Ausgabeparameters zuzugreifen, der als „out“-Parameter bezeichnet wird. Auch wenn die Dokumentation spärlich erscheint, gibt es Möglichkeiten, dies mit der PHP-MySQLi-Erweiterung zu erreichen.
Angenommen, Sie haben eine gespeicherte Prozedur, die als myproc(IN i int, OUT j int) definiert ist, wobei der i-Parameter eine Eingabe ist und j ist ein Ausgabeparameter. Um auf den Ausgabewert in PHP zuzugreifen, können Sie die folgenden Schritte ausführen:
<code class="php">// Establish a connection to the database $mysqli = new mysqli("HOST", "USR", "PWD", "DBNAME"); // Input parameter value $ivalue = 1; // Execute the stored procedure and capture the result $res = $mysqli->multi_query("CALL myproc($ivalue, @x);SELECT @x"); // Check if the execution was successful if ($res) { $results = 0; // Iterate through the results do { // Store the result if ($result = $mysqli->store_result()) { printf("<b>Result #%u</b>:<br/>", ++$results); // Fetch and display the rows while ($row = $result->fetch_row()) { foreach ($row as $cell) echo $cell, " "; } $result->close(); } } while ($mysqli->next_result()); } // Close the connection $mysqli->close();</code>
Dieses Skript nutzt die Funktionen multi_query() und store_result() von MySQLi, um die gespeicherte Prozedur auszuführen und sowohl die Eingabe- als auch die Ausgabewerte abzurufen. Auf den Ausgabewert wird zugegriffen, indem @x in die SELECT-Abfrage eingefügt wird, wobei x der Name des Ausgabeparameters in der gespeicherten Prozedur ist.
Das obige ist der detaillierte Inhalt vonWie rufen Sie Ausgabeparameterwerte aus gespeicherten PHP-Prozeduren ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!