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 ?

Linda Hamilton
Libérer: 2024-11-07 06:10:02
original
710 Les gens l'ont consulté

How to Call a MySQL Stored Procedure from PHP Code?

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 ;
Copier après la connexion

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
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal