Chat : problème d'envoi à MySQL

Répondre
Isaac
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 !smiley), c'est $envoi_sql qui pose proplème.

Merci d'avance ! smiley

++ smiley

PS : prévenez-moi s'il y a d'autres erreurs.
http://www.zmws.com
LA GLOBULE
le 05/05/2005 à 13:54
LA GLOBULE
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.
Isaac
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 ! ++ smiley
http://www.zmws.com
LA GLOBULE
le 05/05/2005 à 16:27
LA GLOBULE
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.
Isaac
le 05/05/2005 à 16:35
Isaac
Me revoila ... smiley

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 ! smiley
http://www.zmws.com
Isaac
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 ?

++ smiley
http://www.zmws.com
Isaac
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à !

++ smiley
http://www.zmws.com
Isaac
le 05/05/2005 à 18:50
Isaac
J'ai réussi à déboguer le tout !

J'explique pour vous tenir au courant... smiley (et pour pas que vous ne postiez de messages inutiles smiley). 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 ! ++ smiley
http://www.zmws.com
LA GLOBULE
le 05/05/2005 à 20:15
LA GLOBULE
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.
Répondre
LoadingChargement en cours