problème avec mysql_query


ndkorn

Messages recommandés

<?php

if (isset ($_POST['pseudo']) AND isset($_POST['message']))//on verifie si les variable existent et si oui on regarde si il n'y a pas de html (htmlentities)

{

if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)//on regarde si il y a quelque chose à enregistrer

{

mysql_connect("localhost", "root", "");

mysql_select_db("coursphp");

$pseudo = htmlentities($_POST['pseudo']);

$message = htmlentities($_POST['message']);

mysql_query ("INSERT INTO chat VALUES ('', '$pseudo', '$message')");

mysql_close();

}

}

?>

Pseudo :

Message :

Archives :

<?php

mysql_connect("localhost","root","");

mysql_select_db("coursphp");

$reponse = mysql_query ("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,10");//on affiche la table chat par ordre décroissant et en montrant que les dix première réponse

mysql_close();

WHILE ($donne = mysql_fetch_array($reponse))

{

echo $donne['pseudo']; ?> a écrit : <?php echo $donne['message'];?>

<?php ;

}

?>

Lien vers le commentaire
Partager sur d’autres sites

les mysql_close ne servent à rien déjà, tu fais deux connexions, alors qu'une suffit

ensuite quand tu envoies les requetes dans ton PHPMyAdmin par exemple, ça te renvoie quelque chose ?[/quotemsg]

Quand j'écrit quelque chose dans les champs pseudo et message je fais envoyer et logiquement d'après le script le message envoyé doit s'afficher après le mot "archive", mais à la place php me remets la page comme si je n'avais rien envoyé et il n'y a pas de message d'erreur.

mysql_query ("INSERT INTO chat VALUES ('', '$pseudo', '$message')" );

sauf erreur de ma part, j'aurais mis :

mysql_query ("INSERT INTO chat('id', 'pseudo', 'message') VALUES (". '$pseudo'.", ".'$message'.")" );

A supposer que pseudo et message sont des entrées dans ta base de données[/quotemsg]

On peut faire comme tu le fais, mets ma façon est aussi valable (d'après le site du zéro).

Lien vers le commentaire
Partager sur d’autres sites

Quand j'écrit quelque chose dans les champs pseudo et message je fais envoyer et logiquement d'après le script le message envoyé doit s'afficher après le mot "archive", mais à la place php me remets la page comme si je n'avais rien envoyé et il n'y a pas de message d'erreur.

On peut faire comme tu le fais, mets ma façon est aussi valable (d'après le site du zéro).[/quotemsg]

si tu mets mysql_query("INSERT INTO chat (id, pseudo, message) (3 champs) puis VALUES ('$pseudo', '$message') (2 valeurs), ça va merder direct.

La syntaxe que j'utilise (la plus légère, et qui fonctionne) :

[fixed]mysql_query("INSERT INTO chat (pseudo, message) VALUES ('$pseudo', '$message')") or die(mysql_error());[/fixed] c'est suffisant, puisque le id est en auto-increment (normalement), et qu'il n'a donc pas besoin d'être mentionné dans l'insert

Lien vers le commentaire
Partager sur d’autres sites

Tu as vu mon message avec les mysql_error ?[/quotemsg]

Oui et après avoir rajouter le "or die" il ne m'affiche pas de message d'erreur non plus.

Sinon, moi je préfère faire comme je fais plus haut pour la requête mysql et de toute façon que ça soit ma façon ou ta façon de faire, ça ne marche toujours pas chez moi. :P

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.