problème avec mysql_query


ndkorn

Messages recommandés

Posté(e)

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

}

?>

Posté(e)

Quand tu fais une requete sql, rajoute un or die (mysql_error()); quand tu as un problème.

Ca t'affiche l'erreur.

$reponse = mysql_query ("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,10" ) or die(mysql_error());

Posté(e)

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

sauf erreur de ma part, j'aurais mis :

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

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

Posté(e)
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).

Posté(e)
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

Posté(e)
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

Posté(e)

Je ne vois aucun message d'erreur sur la page générée.

Est-ce que peut-être l'emplacement des fichiers à une importance? Par exemple, est-ce que les fichiers contenant du sql devraient se mettre dans un répertoire spécifique?

Posté(e)

C'est peut-être à un autre niveau que le problème se passe.

Fait un echo mysql_error(); tout en bas de ton script.

S'il affiche une erreur, essaie de la corrigée. Sinon, c'est dans les conditions de ton script qu'il y a une erreur.

Posté(e)

Je viens de trouver l'erreur! En faite, elle venais pas du code php, mais du code html.

Pseudo :

Message :

Je ne devais pas mettre "value", mais "name". :sweat:

Merci quand même pour votre aide! :)

Archivé

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