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

标签 php mysql stored-procedures mysqli user-defined-functions

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

相关文章:

php - docker + nginx + node.js + php-fpm

php - 如何使用 PHP 将数组插入到 SQL 表的单个字段中

mysql - 查询拉回不符合 WHERE 语句条件的用户

PHP Mysql子菜单数组

sql-server - SQL Server - 如果不存在则创建临时表

php - 插入数组键作为字段值 - mysql/php

php - 在 PHPUnit 中使用 namespace 时“找不到类”

php - 如何获取在其他页面上选择的值?

mysql - 从 MYSQL 上的 DATA 文件夹恢复函数和存储过程

php - 何时使用 View 以及何时使用存储过程