首頁  >  文章  >  後端開發  >  如何從 PHP 程式碼呼叫 MySQL 預存程序?

如何從 PHP 程式碼呼叫 MySQL 預存程序?

Linda Hamilton
Linda Hamilton原創
2024-11-07 06:10:02535瀏覽

How to Call a MySQL Stored Procedure from PHP Code?

如何從PHP 程式碼呼叫MySQL 預存程序

背景:從PHP 程式碼PHP 程式碼可讓您有效地執行複雜的資料庫操作。本文示範了使用 MySQL 版本 4.1.11(客戶端)和 5.0.45(伺服器)從 PHP 呼叫預存程序的最佳方法。

預存程序定義:範例預存程序getTreeNodeName 傳回給定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 ;

呼叫預存程序的PHP 程式碼:

要呼叫getTreeNodeName 過程,您可以使用mysqli 擴充來取代已棄用的mysql 擴充。這是 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
}

注意:許多使用者回報了使用舊版 mysql_connect、mysql_query 和 mysql_fetch_array 函數的問題。建議使用 mysqli 擴充。

以上是如何從 PHP 程式碼呼叫 MySQL 預存程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn