Maison >développement back-end >tutoriel php >Comment appeler une procédure stockée MySQL à partir du code PHP ?
Comment appeler une procédure stockée MySQL à partir du code PHP
Contexte :
Appel de procédures stockées MySQL à partir de Le code PHP vous permet d'exécuter efficacement des opérations de base de données complexes. Cet article présente la meilleure approche pour appeler une procédure stockée à partir de PHP à l'aide des versions MySQL 4.1.11 (client) et 5.0.45 (serveur).
Définition de la procédure stockée :
La exemple de procédure stockée, getTreeNodeName, renvoie le nom d'un nœud étant donné son ID :
DELIMITER $$ DROP FUNCTION IF EXISTS `getNodeName` $$ CREATE FUNCTION `getTreeNodeName`(`nid` int) RETURNS varchar(25) CHARSET utf8 BEGIN DECLARE nodeName varchar(25); SELECT name into nodeName FROM tree WHERE id = nid; RETURN nodeName; END $$ DELIMITER ;
Code PHP pour invoquer la procédure stockée :
Pour appeler la procédure getTreeNodeName, vous pouvez utiliser l'extension mysqli au lieu de l'extension mysql obsolète. Voici le code PHP :
<?php // enable error reporting mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // connect to database $connection = mysqli_connect("hostname", "user", "password", "db", "port"); // run the stored procedure $result = mysqli_query($connection, "CALL getTreeNodeName"); // loop the result set while ($row = mysqli_fetch_array($result)) { echo $row[0] . " - " . $row[1]; // replace with appropriate column indices }
Remarque :
De nombreux utilisateurs ont signalé des problèmes lors de l'utilisation des anciennes fonctions mysql_connect, mysql_query et mysql_fetch_array. Il est recommandé d'utiliser plutôt l'extension mysqli.
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!