erreur php => besoin d'aide
| arglow |
Posté le 21 Jan 2009 à 19:23
|
|
![]() Messages : 19 GCPoints : 12772 |
Bonjour à tous, voila j'ai un petit probléme. J'essaye de mettre en place un tchat sur mon futur site dont voila le code : Code : <!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'])) // Si les variables existent
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("sql.hostarea.org", "plumesenherbe", "creationdelivre");
mysql_select_db("plumesenherbe");
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
// On se déconnecte de MySQL
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>
<form action="index.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
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("sql.hostarea.org", "plumesenherbe", "creationdelivre");
mysql_select_db("plumesenherbe");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");
// On se déconnecte de MySQL
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message'];
mysql_close();
?></p>
<?php
}
?>
</body>
</html>
Mais cela me met ça comme erreur : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web/clients/plumesenherbe.hostarea.org/www/index.php on line 75 Je n'arrive pas à comprendre et à corriger cette erreur. merci de votre aide |
|
| stilobique |
Posté le 21 Jan 2009 à 19:25
|
|
![]() Messages : 2368 GCPoints : 834447 |
Tu a oublier de mettre les point virgules dans ta boucle. Code : PHP // Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message'];
mysql_close();
?></p>
<?php
}
?>Faut croire que j'ai des restes de mon passé Hum, sa beug grave l'affichage du code PHP...
Dernière édition le 21 Jan 2009 à 19:26
|
|
| freemaul |
Posté le 21 Jan 2009 à 19:44
|
|
![]() Messages : 174 GCPoints : 50213 |
j'ai souvent eu cette erreur en php/mysql , cela veut dire que dans ta ligne : Code : while ($donnees = mysql_fetch_array($reponse) ) la variable $reponse n'est pas une variable valide pour l'utilisation de mysql_fetech_array, le plus souvent cela veut dire que ta requête mysql précédente à échouée, il faut donc regardé à : Code : $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");est tu sur que ID est en majuscule ?
"La vie n'a pas de prix, mais elle coûte chère"
|
|
| arglow |
Posté le 21 Jan 2009 à 20:17
|
|
![]() Messages : 19 GCPoints : 12772 |
c'est bon probléme résolut. Merci à tous les deux pour votre aide. L'erreur venait du nom de la table ( merci encore |
|






