Warning: mysql_fetch_array() expects parameter 1 to be resource

sprayl0u Messages postés 2 Statut Membre -  
Xavierdu34 Messages postés 223 Statut Membre -
Bonjour,



J'essaye de faire un Mini-Chat sur mon site mais il ne marche pas.
Voici l'erreur qui apparait :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u655845346/public_html/Projets/minichat.php on line 16

Les dernières lignes de code de minichat.php :

if (isset($_POST['pseudo']) && isset($_POST['message'])) 
{
    if (!empty($_POST['pseudo']) && !empty($_POST['message'])) 
    {
 $message = mysql_real_escape_string(utf8_decode($_POST['message']));
        $pseudo = mysql_real_escape_string(utf8_decode($_POST['pseudo']));
        mysql_query("INSERT INTO minichat(pseudo,message,timestamp) VALUES('$pseudo', '$message', '".time()."')");
    }
}
$reponse = mysql_query("SELECT * FROM minichat ORDER BY id DESC LIMIT 0,10");
while($val = mysql_fetch_array($reponse))
{
 echo '<p><strong">'.htmlentities(stripslashes($val['pseudo'])).'</strong> à '.date('H\:i\:s',$val['timestamp']).' : '. htmlentities(stripslashes($val['message'])) .'</p>';
}
mysql_close();
?>


Une personne qui pourrait m'expliquer pourquoi j'ai cette erreur et comment la résoudre ? :/

4 réponses

SKR1N
 
Peux-tu nous Dire quelle est la ligne 16 ?
0
sprayl0u Messages postés 2 Statut Membre
 
La ligne 16 est : while($val = mysql_fetch_array($reponse))
0
Utilisateur anonyme
 
Hello, il est vrai qu'avec ce format là il n'est pas facile de se repérer dans ton code.

pourrais-tu essayer de modifier ton poste et mettre ton code entre les balises < code php >< /code > prévu par CCM pour cela ? (enlève les espaces entre < > et code php).

Au niveau de ton problème ce que je peux voir ici ( https://stackoverflow.com/questions/2973202/mysql-fetch-array-mysql-fetch-assoc-mysql-fetch-row-mysql-num-rows-etc ) c'est que ta requête SQL à la ligne 15 a echoué

essaie de rajouter des or die(mysql_error()); à la fin tes mysql_query()
exemple :
mysql_query("SELECT * FROM minichat ORDER BY id DESC LIMIT 0,10") or die (mysql_error());


A+

Seezer
0
Xavierdu34 Messages postés 223 Statut Membre 21
 
Ta requête retourne un boolean au lieu d'une ressource (tableau attendu dans ce cas).

En clair ta requête est surement mal construite, pour vérifier, tu vas sur phpmyadmin, et tu passes ta requête manuellement. Il t'affichera probablement une erreur qui t'aidera à résoudre ton soucis.
0