霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

PHP调用MySQL存储过程

PHP调用MySQL存储过程按返回数据分两种情况:

首先看下返回单个数据:

1:创建MySQL存储过程

DROP PROCEDURE IF EXISTS `test`.`proc_test` $$
CREATE PROCEDURE `test`.`proc_test` (out a int)
BEGIN
select count(*) into a from tblname;
END

2:PHP调用MySQL存储过程

$db->query(“CALL test.proc_test(@a)”);
$res = $db->query(“select @a”);
$row = $res->fetch_array();
echo $row[‘@a’];

下面是返回多个数据:

1:创建MySQL存储过程

DROP PROCEDURE IF EXISTS `test`.`proc_test` $$
CREATE PROCEDURE `test`.`proc_test` ()
BEGIN
select * from tbl_name;
END

2:PHP调用MySQL存储过程

$res=$db->query(“CALL test.proc_test()”);
while ($arr=$res->fetch_array())
{
echo $arr[“Field”].”<br/>” ;
}