php调用存储过程

xiongbing529 2007-08-20 05:02:12
create procedure t() select * from x;

<?
$con=mysql_connect("localhost","root","331200");
mysql_select_db("shop");
$re=mysql_query("call t()");
//$re=mysql_query("select * from xx");
echo mysql_num_rows($re);

?>

为什么报错
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\web\Apache2\htdocs\dian\test.php on line 6
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongbing529 2007-08-20
  • 打赏
  • 举报
回复
没解决我的问题..呵呵
luojxun 2007-08-20
  • 打赏
  • 举报
回复
返回单个数据:
1.1:创建MySQL存储过程:

DELIMITER $$

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

DELIMITER ;

1.2:PHP调用:

$db->query("CALL test.proc_test(@a)");
$res = $db->query("select @a");
$row = $res->fetch_array();
echo $row['@a'];

返回多个数据:
2.1:创建MySQL存储过程:

DELIMITER $$

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

DELIMITER ;

2.2:PHP调用:

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

P.S.:以上代码执行通过环境 PHP 5.X.X + MySQL 5.X.X


以上也是我找的,试试,可以的话说一声。呵呵
xiongbing529 2007-08-20
  • 打赏
  • 举报
回复
在mysql-font里面.测试这个存储过程能查询出值来.但是PHP调用。就出不来了
luojxun 2007-08-20
  • 打赏
  • 举报
回复
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧