2010-08-08 6 views
0

Possible Duplicate:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given errorenregistrements liste en utilisant des procédures stockées

Je vais avoir un peu de pratique concernant les procédures de MySQL stockées. Voici le fichier php qui appelle:

<?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> 

Et voici la procédure stockée, qui fonctionne bien quand je l'exécute dans 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 

S'il vous plaît me dire comment puis-je déboguer celui-ci , Je vais avoir ce genre d'erreur:

mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

Je soupçonne que ma requête est en faute. aidez s'il vous plaît.

Répondre

0

Il semble ext/mysql rend l'utilisation des procédures stockées une lourdeur (certains disent impossible) chose à faire. L'utilisation ext/mysqli est recommandé (j'utilise personnellement mysqli, et en fait il fonctionne très bien avec les procédures stockées)

Voir ce sujet sur les forums MySQL: http://forums.mysql.com/read.php?52,59458,185092#msg-185092

1

Laissez MySQL vous dire quel était le problème

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

voir http://docs.php.net/mysql_error

+0

il dit: PROCEDURE test.list ne peut pas retourner un jeu de résultats dans le contexte donné – user225269

+0

Alors vous pourriez être intéressé par http://stackoverflow.com/questions/1200193/cant-return-a-result-set-in-the-given-context – VolkerK