我有在 MySQL 中创建的存储过程,并希望 PHP 调用该存储过程。执行此操作的最佳方法是什么?
-MySQL客户端版本:4.1.11
-MySQL服务器版本:5.0.45
这是我的存储过程:
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 ;
调用过程 getTreeNodeName 的 PHP 代码是什么?
最佳答案
我现在找到了使用 mysqli
而不是 mysql
的解决方案。
<?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 store proc
$result = mysqli_query($connection, "CALL StoreProcName");
//loop the result set
while ($row = mysqli_fetch_array($result)){
echo $row[0] . " - " . + $row[1];
}
我发现很多人似乎对使用 mysql_connect、mysql_query 和 mysql_fetch_array
有疑问。
关于php - 如何从 PHP 代码中调用 MySQL 存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24133082/