Récupération des valeurs des paramètres de sortie dans les procédures stockées PHP
Dans le domaine des procédures stockées PHP et MySQL, il peut arriver un moment où vous avez besoin pour accéder à la valeur d'un paramètre de sortie, appelé paramètre "out". Bien que la documentation puisse sembler clairsemée, il existe des moyens d'y parvenir avec l'extension PHP MySQLi.
Supposons que vous ayez une procédure stockée définie comme myproc(IN i int, OUT j int), où le paramètre i est une entrée et j est un paramètre de sortie. Pour accéder à la valeur de sortie en PHP, vous pouvez utiliser les étapes suivantes :
<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>
Ce script exploite les fonctions multi_query() et store_result() de MySQLi pour exécuter la procédure stockée et récupérer les valeurs d'entrée et de sortie. La valeur de sortie est accessible en incluant @x dans la requête SELECT, où x est le nom du paramètre de sortie dans la procédure stockée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!