Phe*_*eap 37 php mysql mysqli stored-procedures user-defined-functions
我有我在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 ;
Run Code Online (Sandbox Code Playgroud)
调用getTreeNodeName过程的PHP代码是什么?
Phe*_*eap 51
我现在通过使用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];
}
Run Code Online (Sandbox Code Playgroud)
我发现很多人似乎都有使用问题mysql_connect, mysql_query and mysql_fetch_array.
小智 13
您可以使用以下语法调用存储过程:
$result = mysql_query('CALL getNodeChildren(2)');
Run Code Online (Sandbox Code Playgroud)