Warning: mysql_fetch_array() expects parameter 1 to be resource

Fermé
sprayl0u Messages postés 2 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 23 novembre 2013 - Modifié par pijaku le 2/12/2013 à 09:05
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 - 2 déc. 2013 à 08:03
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

Peux-tu nous Dire quelle est la ligne 16 ?
0
sprayl0u Messages postés 2 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 23 novembre 2013
23 nov. 2013 à 16:50
La ligne 16 est : while($val = mysql_fetch_array($reponse))
0
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 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
2 déc. 2013 à 08:03
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