problème avec mysql_query


ndkorn

Recommended Posts

<?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 ;

}

?>

Link to comment
Share on other 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).

Link to comment
Share on other 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

Link to comment
Share on other 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

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.