2010-08-08 86 views
0

Possible Duplicate:
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> 

而這裏的存儲過程,效果很好,當我在海蒂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() expects parameter 1 to be resource, boolean given in

我懷疑我的查詢是有過錯的。請幫忙。

回答

1

讓MySQL的告訴你問題是什麼

$result=mysql_query($sql); 
if (!$result) { 
    echo 'an error occurred: ', htmlspecialchars(mysql_error()), 
    '<br />The query was: ', htmlspecialchars($sql); 
    die; 
} 

看到http://docs.php.net/mysql_error

+0

它說:PROCEDURE test.list不能返回結果集在給定的上下文中 – user225269 2010-08-08 08:17:18

+0

然後你可能會對http://stackoverflow.com/questions/1200193/cant-return-a-result-set-in-the-given-context感興趣 – VolkerK 2010-08-08 08:32:23