Probleme avec php
Résolu
Bonjour,
je travail sur la réalisation d'un minichat sur mon site :
le problème est que mon code ne marche pas .
voici mon code:
et voici la reponse afficher par wamp:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\www.eureka.com\index.php on line 73
quelle est le problème?
merci a tous!
je travail sur la réalisation d'un minichat sur mon site :
le problème est que mon code ne marche pas .
voici mon 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("localhost", "root", "");
mysql_select_db("minichat");
// 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("localhost", "root", "");
mysql_select_db("minichat");
// 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
mysql_close();
// 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']; ?></p>
<?php
}
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
et voici la reponse afficher par wamp:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\www.eureka.com\index.php on line 73
quelle est le problème?
merci a tous!
Configuration: Windows Vista Firefox 2.0.0.14
3 réponses
-
ContributeurBonjour,
je ne suis pas vraiment certain mais tu te déconnectes avant même de faire ta boucle alors moi personnellement j'essaierais ceci :
enleve ton :
// On se déconnecte de MySQL
mysql_close();
et met le à la fin complètement soit:
<?php } // Fin de la boucle, le script est terminé ! // On se déconnecte de MySQL mysql_close(); ?>
-
ContributeurBonjour,
as-tu bien créé ta table dans la base de donnée?
Cordialement
Revan
-
-
Contributeur@morykeitaJ'ai testé ton code et chez moi ça fonctionne sans problème. donc la seule chose qui change entre chez toi et chez moi c'est la base de donnée.
explique exactement comment tu as organisé ta base de donnée. nom de la base, nom de la table, etc stp.
Qu'elle est le nom de ta base de donnée? le nom de ta base?
A mon avis le problème est là:
/ Maintenant on doit récupérer les 10 dernières entrées de la table // On se connecte d'abord à MySQL : mysql_connect("localhost", "root", ""); mysql_select_db("minichat");
et plus précisément c'est le mysql_select_db("minichat");
je pense que ta base de donnée ne s'appelle pas minichat et que tu as confondu avec la table qui s'appelle "minichat".
-
-
-
@Torkassa torkass
si je fais cela wamp affiche:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\www.eureka.com\index.php on line 63
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\www.eureka.com\index.php on line 73
-
-
Contributeurje viens de refaire un test chez moi en utilisant exactement les même nom que toi, et ça marche parfaitement.
dans ton phpMyAdmin tu devrais arriver à ça==>http://www.cijoint.fr/cj200805/cijo5kJXls.jpg
est-ce le cas?
-
-
@morykeitaPeux-tu nous faire un screen de la tienne pour être sûrs ?
Un détail t'a peut-être échappé. -
Contributeur@TorkassJe suis d'accord avec Torkass^^
puisque chez moi ça fonctionne très bien^^
il doit s'agir d'une petite faute d'inattention quelque part^^
-
@Revan26914salut raven !
merci merci! j'ai enfin ressui ; en effet je me deconnectait trop vite avant que le message ne sois en enregistre.
merci a tous les amis ! je ne sais ce que j'aurais fais sans vous. -
-