syntax error - SQL/NoSQL - Programmation
Marsh Posté le 30-06-2004 à 10:37:15
La réponse est écrite dans ton post : near 'VALUES
Plus sérieusement, il nous faudrait au moins la requete, et si celle-ci est dynamique, tu pourrais l'afficher avant de faire le mysql_query, ce qui te permettrait de voir ton erreur
Marsh Posté le 30-06-2004 à 10:37:37
Est ce que tu ne peux pas mettre l'ensemble de la query???
Marsh Posté le 30-06-2004 à 10:52:42
vous voulez voir le formulaire qui me permet de remplir les champs?
Marsh Posté le 30-06-2004 à 10:54:14
non, la requète que tu transmets
Marsh Posté le 30-06-2004 à 10:55:56
Code :
|
Marsh Posté le 30-06-2004 à 10:58:46
Enlève les cotes autour du nom de la table
Ensuite il faut véridier la nature des champs, et que ceci soit positioné dans l'ordre puisque tu ne les listes pas auparavant.
Si tu peux également faire un affichage de la requèe avant éxecution, comme ca
Code :
|
on pourrait avoir un exemple concret de requete envoyée vers le SGBD
Marsh Posté le 30-06-2004 à 11:00:47
ah ouai, jpouvais tjrs chercher. Merci, c'est ça.
par contre j'ai une autre erreur:
Column count doesn't match value count at row 1
C'est la date qu'à un probleme?
Marsh Posté le 30-06-2004 à 11:02:39
Non cela veut dire que tu ne rensigne pas tous les champs. Pour éviter ce genre de probleme ( meme si c'est plus court ), je te conseille de lister les champs dans ton insert
Code :
|
Marsh Posté le 30-06-2004 à 11:14:26
et c'est normal le premier (et le dernier) champ vide '' dans () de VALUE
je suis un peu perdu car j'ai recup une page php fait par un prestataire et je passe mon tps a debugger
Marsh Posté le 30-06-2004 à 11:17:05
on est daccord que ça donne ça:
Code :
|
?
Marsh Posté le 30-06-2004 à 11:18:27
Normalement on peut tout à fait insérer des champs vides dans une base.
En fait, ta requête me semble correcte (mise à part le 'news' entre quote, car je vois pas comment tu pourrais insérer des données dans une chaîne de caractère)
La lise des champs avant le values est facultative à condition de fournir le même nombre de valeurs que de champs. Toutefois, si demain j'ai un mec qui bosse avec moi qui fait ça, c'est lui ou moi, mais l'un des deux quitte le projet, par expérience, y'a rien de mieu pour planter l'intégralité du code pour une raison "incompréhensible" 6 mois après la mise en prod du soft, quand un admin se sera amusé à faire un alter table histoire de modifier quelques trucs dans la table... Donc toujours fournir la liste des champs en plus des valeurs, ça permet au SGBD de savoir quelle donnée insérer dans quelle colonnes, au cas ou des colonnes soient rajoutées, ou qu'elles ne soient plus de le même ordre, ce qui arrive régulièrement dans une base qui "vit" )
Marsh Posté le 30-06-2004 à 11:19:57
kameha a écrit : et c'est normal le premier (et le dernier) champ vide '' dans () de VALUE |
Là, on ne va pas pouvoir t'aider car on ne connait pas les structures des tables, ni les données que tu y enregistres.
Là, il faut que tu te penches un peu sur les tables, et le pourquoi du comment, on n'y insères des champs vides
Marsh Posté le 30-06-2004 à 11:21:29
pour le 1er champ vide, je me dis que c'est l'id qui s'auto incremente mais c'est le dernier qui me faisait douter
Marsh Posté le 30-06-2004 à 11:22:04
moi je suis sûr que c'est le 'news'. Les ' n'ont rien à foutre autour d'un nom de table, à moins que ce soit encore une invention de MySQL, mais ca m'étonnerait grandement.
Marsh Posté le 30-06-2004 à 11:22:19
les quotes dans la liste des champs sont en trop. Ensuite dans la liste des valeurs, tu ne mets des cotes qu'autour de certain type de valeur
Il me semble que je t'ai donné un peu plus haut la syntaxe correcte du INSERT
Marsh Posté le 30-06-2004 à 11:23:16
arf, j'avais pas vu les ' aussi dans la description de la table
bon ben pas besoin de chercher plus loin...
Marsh Posté le 30-06-2004 à 11:23:35
si, le nom du champs ' ', le premier et apres 'url'...
$q_insert = mysql_query("INSERT INTO news (date,texte_fr,texte_en,texte_it,texte_es,url) VALUES ('$date','$texte_fr','$texte_en','$texte_it','$texte_es','$url')" )or die(mysql_error());
Marsh Posté le 30-06-2004 à 11:24:07
Arjuna-->Ernst me l'a dit un peu plus haut. Ca été modif merci.
Marsh Posté le 30-06-2004 à 11:25:38
Arjuna-->ah oui tu parlais des ' ds la description des tables, autant pour moi
Marsh Posté le 30-06-2004 à 10:06:46
Salut
je suis en train de faire un back office qui rentre des données dans mysql et j'ai cette erreur au moment de l'envoi des infos:
Vous savez d'où ça peut venir?
merci