我在 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/3966747/