可能重复:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error
我正在进行一些关于mysql存储过程的练习。 这是调用它的php文件:
<?php
include('conn.php');
$cor=$_POST['course'];
$sql="CALL list('$cor')";
$result=mysql_query($sql);
?>
<table>
<tr>
<th>Name</th>
<th>Course</th>
</tr>
<?php
while($row=mysql_fetch_assoc($result)){
?>
<tr>
<td><?php echo $row['Name']; ?></td>
<td><?php echo $row['Course']; ?></td>
</tr>
<?php } ?>
</table>
这是存储过程,当我在heidi sql中执行它时效果很好:
CREATE PROCEDURE `list`(IN `COR` VARCHAR(50))
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT *
FROM tb1
WHERE Course=COR;
END
请告诉我如何调试这个, 我有这样的错误:
mysql_fetch_assoc()需要参数 1是资源,布尔在
中给出
我怀疑我的查询有问题。请帮忙。
答案 0 :(得分:1)
让MySQL告诉你问题是什么
$result=mysql_query($sql);
if ( !$result ) {
echo 'an error occurred: ', htmlspecialchars(mysql_error()),
'<br />The query was: ', htmlspecialchars($sql);
die;
}
答案 1 :(得分:0)
似乎ext / mysql使用存储过程变得麻烦(有人说不可能)。建议使用ext / mysqli(我个人使用的是mysqli,实际上它可以在存储过程中正常工作)
在MySQL论坛上查看此主题:http://forums.mysql.com/read.php?52,59458,185092#msg-185092