首页 >后端开发 >php教程 >如何从 PHP 代码调用 MySQL 存储过程?

如何从 PHP 代码调用 MySQL 存储过程?

Linda Hamilton
Linda Hamilton原创
2024-11-07 06:10:02595浏览

How to Call a MySQL Stored Procedure from PHP Code?

如何从 PHP 代码调用 MySQL 存储过程

背景:
从 PHP 代码调用 MySQL 存储过程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