如何从 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中文网其他相关文章!