Pb mysql INSERT
Bonjour à tous,
J'ai un petit soucis avec mon bout de code que voici :
mysql_query("
INSERT INTO commentaires(
CONTENT_COMM
, NO_NEWS
, AUTEUR_COMM
, TIME_COMM
, DATE_COMM
)
VALUES(
'" . $_POST["TB_CONTENT_COMM"] . "'
, '" . $_GET["id"] . "'
, '" . $_COOKIE["NOM_UTILISATEUR"] . "'
, CURTIME( )
, CURDATE( )
)
");
Sur les cinq valeurs, la 2e ne fonctionne apparemment pas, elle me renvoie 0 dans mon champs sql. J'ai pourtant bien un id dans ma barre d'adresse, et la valeur existe bien puisque quand je fais un echo $_GET["id"] j'ai bien la valeur correspondante.
Quelqu'un a t'il une idée?
Merci
Dans mon champs
J'ai un petit soucis avec mon bout de code que voici :
mysql_query("
INSERT INTO commentaires(
CONTENT_COMM
, NO_NEWS
, AUTEUR_COMM
, TIME_COMM
, DATE_COMM
)
VALUES(
'" . $_POST["TB_CONTENT_COMM"] . "'
, '" . $_GET["id"] . "'
, '" . $_COOKIE["NOM_UTILISATEUR"] . "'
, CURTIME( )
, CURDATE( )
)
");
Sur les cinq valeurs, la 2e ne fonctionne apparemment pas, elle me renvoie 0 dans mon champs sql. J'ai pourtant bien un id dans ma barre d'adresse, et la valeur existe bien puisque quand je fais un echo $_GET["id"] j'ai bien la valeur correspondante.
Quelqu'un a t'il une idée?
Merci
Dans mon champs
Configuration: Windows XP Safari 530.5
13 réponses
-
Essaye d'enlever les apostrophes avant et après tes guillemets. Si c'est un entier qui est attendu il te refuse automatiquement le texte.
Cdt -
Lorsque j'enlève les apostrophes, ça ne fonctionne plus. :'(
-
Autant pour moi, enlève juste les apostrophes de $_GET["id"]
(J'ai oublié de préciser ^^)
-
C'est ce que j'avais fais :). Je suis toujours en erreur sql. Une autre idée ?
-
Essaye comme ça:
, " . $_GET["id"] . "
Les apostrophes autour de la valeur indique à mysql que c'est une chaine de caractère. s'il attend un nombre il mettra 0 comme il ne comprend pas. -
Avec les apostrophes j'ai aucun message d'erreur, la requête se passe apparemment bien. Juste la valeur inclus dans mon champs qui n'est pas celle que j'attend.
Lorsque j'enlève les apostrophes, la requête ne fonctionne plus. Le or die me revoie cela :
Erreur de connexion 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 ' 'wbulot' , CURTIME( ) , CURDATE( ) ' at line 11
Mon code actuel :
(ligne 11) if(isset($_POST["BT_Envoyer"]))
{
connect_mysql();
mysql_query("
INSERT INTO commentaires(
CONTENT_COMM
, NO_NEWS
, AUTEUR_COMM
, TIME_COMM
, DATE_COMM
)
VALUES(
'" . $_POST["TB_CONTENT_COMM"] . "'
, " . $_GET["id"] . "
, '" . $_COOKIE["NOM_UTILISATEUR"] . "'
, CURTIME( )
, CURDATE( )
)
") or die('Erreur de connexion '.mysql_error()) ;
mysql_close();
}
$idnews = $_GET["id"];
echo $idnews;
Je rappelle que l'echo a la fin me renvoie bien la bonne valeur.
Voici les info de mon champ:
Champ Type Interclassement Attributs Null Défaut Extra Action
NO_NEWS int(11) Non aucune
Quelqu'un a une idée ? -
ben fais un echo de ta requete tu verras bien là où ca va pas ^^
-
Jte suis pas la ...
-
Ben ton erreur, elle est dans ta requête SQL
donc tu affiches ta requete, tu verras bien là où ca va pas :
tu fais un echo "
INSERT INTO commentaires(
CONTENT_COMM
, NO_NEWS
, AUTEUR_COMM
, TIME_COMM
, DATE_COMM
)
VALUES(
'" . $_POST["TB_CONTENT_COMM"] . "'
, " . $_GET["id"] . "
, '" . $_COOKIE["NOM_UTILISATEUR"] . "'
, CURTIME( )
, CURDATE( )
)
" -
Heu t'es sur de toi?
Ça ne marche pas, et ça me parait un peu logique ... -
Quoi ?
un affichage de marche pas ?
c'est pas fait pour "marcher", c'est fait pour voir là où est ton erreur dans ta requête -_- -
J'ai trouver d'ou venait le problème. J'ai n'ai aucune idée de pourquoi ça réagit comme cela.
Actuellement j'ai un if qui me dit en gros, si j'appuis sur le bouton envoyer, ça exécute mon script. (le if est ligne 11, voir au dessus. )
Si je garde le même script, mais que j'enlève le if. Tout marche impec. Je ne comprend pas ... -
Mdr
Normal que ça deconne. Un bouton ne renvoit rien donc lorsque tu fais ton $_POST['BT_envoyer'], ça ne passe pas ^^.
Test sur autre chose si tu peux ou envoie un autre paramêtre (un type hidden par exemple).