Chat : problème d'envoi à MySQL
le 05/05/2005 à 13:13
Isaac
Salut !
Tout est expliqué ici !
Après quelques tests de dernières minutes, je modifie ce que j'ai dis dans le wall :
$recup_donnees foire à cause d'un bogue qui la précède (elle est peut-être érronée ... mais on s'en fout pour l'instant !
), c'est
$envoi_sql qui pose proplème.
Merci d'avance !
++
PS : prévenez-moi s'il y a d'autres erreurs.
http://www.zmws.com
Mets des or die mysql_error sur tes mysql_query, sinon, tu ne peux pas voir les messages d'erreurs MySQL.
Ta deuxieme requete a aussi un problème : il faut mettre un FROM dedans.
le 05/05/2005 à 16:14
Isaac
Re !
Voici le message d'erreur de MySql :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
Merci ! ++
http://www.zmws.com
Decompose ton code :
$envoi_sql = mysql_query("INSERT INTO minichat (pseudo, msg) VALUES ($pseudo, $msg)");
En :
$sql = "INSERT INTO minichat (pseudo, msg) VALUES ($pseudo, $msg)";
$envoi_sql = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
Et donne nous le message d'erreur complet.
Mais à mon avis, tu as un problème de guillemets : il faut entourer $pseudo et $msg de guillemets.
le 05/05/2005 à 16:35
Isaac
Me revoila ...
J'ai trouvé quelque chose qui a changé le message d'erreur : si vous regardez de plus près, on remarque que quand j'ai écrit les
$var=htmlentities($_POST[blabla]), le deuxième est incorrecte. J'ai mis
$_POST['message'] alors que j'aurais dû mettre
$_POST['msg'] !!!
(Screugneugneu, c'est comme à l'école, toutes mes fautes sont dues à la distraction...)
Le nouveau message d'erreur est :
Unknown column 'Isaac' in 'field list'
Je vais voir de plus près tout ça !
++ et merci !
http://www.zmws.com
As tu fais la décomposition que je t'ai suggéré ?
le 05/05/2005 à 16:47
Isaac
Ouaip !
Toujours le même message d'erreur.
Tu veux que je reposte dans le wall le script afin que tu puisses voir les quelques modif's ?
++
http://www.zmws.com
le 05/05/2005 à 17:16
Isaac
Re,
Voici le code que j'ai changé :
<?php
// blabla inutile
$sql = "INSERT INTO minichat (pseudo, msg) VALUES ($pseudo, $msg)";
$envoi_sql = mysql_query($sql) OR die(mysql_error());
$re_sql = "SELECT CONCAT('<tr><td id=\"chat_pseudo\">', pseudo, ' :</td>', '<td id=\"chat_msg\">', msg, '</td></tr>') AS ligne_chat FROM minichat ORDER BY id DESC LIMIT 20";
$recup_donnees = mysql_query($re_sql) OR die(mysql_error());
// blabla inutile aussi
?>
J'ai fais un test : j'ai encadré par /* et */ le 2e
OR die(). Le message d'erreur est toujours le même ; c'est donc
le premier envoi qui bogue.
Voili, voilà !
++
http://www.zmws.com
le 05/05/2005 à 18:50
Isaac
J'ai réussi à déboguer le tout !
J'explique pour vous tenir au courant...
(et pour pas que vous ne postiez de messages inutiles
). Il me disait :
Unknown column 'Isaac' in 'field list'
J'ai mis comme LA GLOBULE m'a dit
pseudo et
msg entre guillemets simples et la ça marche !
Merci encore pour l'aide, LA GLOBULE ! ++
http://www.zmws.com
Pour tes or die, fais des or die comme ceci :
or die('Erreur SQL !'.$sql.''.mysql_error());
Comme çà, tu vois l'erreur, et en plus, tu vois ta requete SQL.