Heim >Backend-Entwicklung >PHP-Tutorial >Wie rufe ich eine gespeicherte MySQL-Prozedur aus PHP-Code auf?

Wie rufe ich eine gespeicherte MySQL-Prozedur aus PHP-Code auf?

Linda Hamilton
Linda HamiltonOriginal
2024-11-07 06:10:02593Durchsuche

How to Call a MySQL Stored Procedure from PHP Code?

So rufen Sie eine gespeicherte MySQL-Prozedur aus PHP-Code auf

Hintergrund:
Aufruf gespeicherter MySQL-Prozeduren aus Mit PHP-Code können Sie komplexe Datenbankoperationen effektiv ausführen. Dieser Artikel zeigt den besten Ansatz zum Aufrufen einer gespeicherten Prozedur aus PHP mit den MySQL-Versionen 4.1.11 (Client) und 5.0.45 (Server).

Definition der gespeicherten Prozedur:
Die Beispiel für eine gespeicherte Prozedur, getTreeNodeName, gibt den Namen eines Knotens anhand seiner ID zurück:

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 ;

PHP-Code zum Aufrufen der gespeicherten Prozedur:

Um die getTreeNodeName-Prozedur aufzurufen, Sie können die MySQL-Erweiterung anstelle der veralteten MySQL-Erweiterung verwenden. Hier ist der PHP-Code:

<?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
}

Hinweis:
Viele Benutzer haben Probleme mit der Verwendung der älteren Funktionen mysql_connect, mysql_query und mysql_fetch_array gemeldet. Es wird empfohlen, stattdessen die MySQLi-Erweiterung zu verwenden.

Das obige ist der detaillierte Inhalt vonWie rufe ich eine gespeicherte MySQL-Prozedur aus PHP-Code auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn