PHP调用MYSQL存储过程求助

Eagle Liang 2011-12-06 05:38:44
错误信息:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\RUIOA\webroot\MyPHP\News\test.php on line 37


PHP:
<?php
$conn = mysqli_connect("localhost","root","chen");
mysqli_select_db($conn,"test");
$result = mysqli_query($conn,"call list();"); ==============>这里换成"select * from users;"就正常读出数据
while($row = mysqli_fetch_array($result)){
echo $row[1]."  ".$row[2]."  ".$row[2]."<br>";
}
?>

Mysql:
CREATE PROCEDURE list()
BEGIN
select * from users;
END;



mysqli与mysql都用过了,情况都是一样,用SQL语句就没问题,但是调用存储过程就不行
...全文
191 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
码无边 2011-12-12
  • 打赏
  • 举报
回复
你在mysql编辑器里面,执行下存储过程看看,看可以执行不?然后在php调用试试
Eagle Liang 2011-12-11
  • 打赏
  • 举报
回复
问题解决不了,没办法了吗?
Eagle Liang 2011-12-10
  • 打赏
  • 举报
回复
上边两位的建议我在发此贴的时候已经试过了,谢谢
还是不行
码无边 2011-12-09
  • 打赏
  • 举报
回复
你看看你的mysqli扩展打开没?
「已注销」 2011-12-07
  • 打赏
  • 举报
回复
找一下rong framework,有Rong_Db_Driver_Mysqli::call($sql) 这个方法,是用来调用存储过程的。
代码如诗 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 c213135 的回复:]

还有,补充一下如果是增删改的存储过程是能正常执行的,数据也正常改变,就是只要是返回SELECT的查询就会报错
PROCEDURE test.sel can't return a result set in the given context
[/Quote]

参考这里 :http://blog.csdn.net/huichengongzi/article/details/5571346
伴老思源 2011-12-07
  • 打赏
  • 举报
回复
php调用MySQL存储过程方法集合~
传送门~
michael3832628 2011-12-07
  • 打赏
  • 举报
回复
list是否没有在数据库test上面,我测试没问题
Eagle Liang 2011-12-07
  • 打赏
  • 举报
回复
还有,补充一下如果是增删改的存储过程是能正常执行的,数据也正常改变,就是只要是返回SELECT的查询就会报错
PROCEDURE test.sel can't return a result set in the given context
Eagle Liang 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 mr_merlin 的回复:]
错误提示$result必须是 mysql Resource 而你这返回的是boolean

你检查一下是不是语句定界符的错误
[/Quote]
按照你说得,可能错在哪个地方?
代码如诗 2011-12-07
  • 打赏
  • 举报
回复
错误提示$result必须是 mysql Resource 而你这返回的是boolean

你检查一下是不是语句定界符的错误
Eagle Liang 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 abandonship 的回复:]
php调用MySQL存储过程方法集合~
传送门~
[/Quote]
首先谢谢你的意见
但是我按照你提供的参考做了一次,结果还是一样...悲剧
Eagle Liang 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 michael3832628 的回复:]
list是否没有在数据库test上面,我测试没问题
[/Quote]

我贴出来的能运行么?难道是我配置里有问题?
MrCeffoo 2011-12-06
  • 打赏
  • 举报
回复
还没用过存储过程这种高级东西
Eagle Liang 2011-12-06
  • 打赏
  • 举报
回复
就是 存储过程
CREATE PROCEDURE list()
BEGIN
select * from users;
END;
HARALDRED 2011-12-06
  • 打赏
  • 举报
回复
存储过程是什么意思...
Eagle Liang 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kyzy_yy_pm 的回复:]
$result = mysqli_query('select * from users', $conn);//$conn是mysql_connect返回值(可有可无)
[/Quote]
能详细解释一下吗?
为什么执行SQL语句时就OK,存储过程就不行呢?
kyzy_yy_pm 2011-12-06
  • 打赏
  • 举报
回复

$result = mysqli_query('select * from users', $conn);//$conn是mysql_connect返回值(可有可无)

21,893

社区成员

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

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