Que signifie ce message d'erreur?
ml500
Messages postés
791
Statut
Membre
-
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai écris mon pgm de chat en php, mais je recois un message d'erreur en lançant mon pgm. ce message c'est :
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/barreau/public_html/minichat.php on line 73"
Je ne sais pas ce que ca signifie, et comment corriger le problème?
J'ai écris mon pgm de chat en php, mais je recois un message d'erreur en lançant mon pgm. ce message c'est :
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/barreau/public_html/minichat.php on line 73"
Je ne sais pas ce que ca signifie, et comment corriger le problème?
Configuration: Windows XP Internet Explorer 7.0
10 réponses
-
la valeur que tu transmets à la fonction mysql_fetch_array() n'est pas valide
-
voici tout le code, aidez moi à le corriger...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
{
mysql_connect("localhost", "barreau", "uaerrab");
mysql_select_db("barreau_minichat");
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
mysql_query("INSERT INTO chattable VALUES('', '$pseudo', '$message')");
mysql_close();
}
}
?>
<form action="minichat.php" method="post">
<p>
Pseudo : <input type="text" name="pseudo" /><br />
Message : <input type="text" name="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
mysql_connect("localhost", "barreau", "uaerrab");
mysql_select_db("barreau_minichat");
$reponse = mysql_query("SELECT * FROM chattable ORDER BY ID DESC LIMIT 0,10");
mysql_close();
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>
<?php
}
?>
</body>
</html> -
Bonjour
Pourquoi fermer la connexion à ta base de données si c'est pour la rouvrir quelques lignes plus loin ? Ça n'est pas ça qui provoque ton erreur, mais c'est du gaspillage...
Tu as dû modifier le scrit entre le message d'erreur et celui que tu donnes message 2. L'erreur ne devrait pas être ligne 73.
En supposant qu'elle soit à la ligne
$reponse = mysql_query("SELECT * FROM chattable ORDER BY ID DESC LIMIT 0,10");
modifie-là comme ça :
$reponse = mysql_query("SELECT * FROM chattable ORDER BY ID DESC LIMIT 0,10") or die (mysql_error());
Ça ne va pas résoudre le problème, mais ça nous dira d'où il vient. C'est une bonne habitude d'ajouter or die (mysql_error()); après les appels à mysql_query.
Je risque un pronostic : ton champ ne s'appelle pas ID (si l'erreur est bien sur cette ligne) -
première démarche à avoir :
exécuter toutes ses requêtes dans phpmyadmin afin d'être sûr qu'elle sont valide. Si elles ne le sont pas dans phpmyadmin, elles ne risquent pas de l'être en production sur un fichier php. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
le problème était le champ id que moi j'ai nommé par erreur ip dans ma base de données.
Mais, en executant le chat, il ne présente plus d'erreur, mais apres avoir saisi le pseudo et le message, il n'ya pas effet.
rien ne bouge, je ne comprend plus rien;
aidez moi -
les informations apparaissent dans la base de données ?
-
wi, les données apparaissent, mais ne sont pas affiché au retour
-
donc vérifie tes fonctions et tes requêtes qui gèrent l'affichage..
-
tu as raison, j'ai retrouvé l'erreur.
Mais comment on insert des paragraphes en php, comme en xhtml c'est <p
Au faite pour dire ajouter des lignes... -
gnu ?
j'ai pas vraiment compris ce que tu essayes de dire
pour mettre un <p> en php, bah tu fais :
echo '<p>';