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

我有我在MySQL中创建的存储过程,并希望PHP调用该存储过程。最好的方法是什么?

-MySQL 客户端版本: 4.1.11
-MySQL Server 版本: 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 代码是什么?


答案 1

我现在通过使用而不是找到解决方案。mysqlimysql

<?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 and mysql_fetch_array


答案 2

可以使用以下语法调用存储过程:

$result = mysql_query('CALL getNodeChildren(2)');

推荐