begin process at 2012 02 10 23:55:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Erreur de syntaxe près de


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur de syntaxe près de

mercredi 16 janvier 2008 à 16:34:19 | Erreur de syntaxe près de

jphilippev

bonjour je fais un mysql_query
<code>
mysql_query("UPDATE log SET nom='$_POST[nom]', prenom='$_POST[prenom]', adresse='$_POST[adresse]', ville='$_POST[ville]', fixe='$_POST[fixe]', mobile='$_POST[mobile]', fax='$_POST[fax]', email='$_POST[email]', blog='$_POST[blog]', myspace='$_POST[myspace]', site='$_POST[site]', gros='$_POST[gros]', nbr_art='$_POST[nbr_art]', datcrea='$_POST[datcrea]', debcon='$_POST[debcon]', rubrique='$_POST[rubrique]', style='$_POST[style]', desc='$_POST[desc]', bio='$_POST[bio]', news='$_POST[news]', avenir='$_POST[avenir]', objectif='$_POST[objectif]', clip1='$_POST[clip1]', video='$_POST[video]', clip2='$_POST[clip2]', son1='$_POST[son1]', son2=$'_POST[son2]', dateMAJ='$dateMAJ', confirmMAJ='$confirmMAJ  WHERE login='$_SESSION[login]'") or die ('Erreur : '.mysql_error() );
</code>

et ca me renvoie

Erreur de syntaxe près de 'desc='essai2', bio='', news='', avenir='', objectif='', clip1=''' à la ligne 1

moi je ne vois pas d'erreur en tout cas je ne la trouve pas
desc bio news avenir et objectif sont des champs texte multiligne
mercredi 16 janvier 2008 à 17:16:51 | Re : Erreur de syntaxe près de

jphilippev

Réponse acceptée !
mysql_query("UPDATE log SET nom='$_POST[nom]', prenom='$_POST[prenom]', adresse='$_POST[adresse]', ville='$_POST[ville]', fixe='$_POST[fixe]', mobile='$_POST[mobile]', fax='$_POST[fax]', email='$_POST[email]', blog='$_POST[blog]', myspace='$_POST[myspace]', site='$_POST[site]', gros='$_POST[gros]', nbr_art='$_POST[nbr_art]', datcrea='$_POST[datcrea]', debcon='$_POST[debcon]', rubrique='$_POST[rubrique]', style='$_POST[style]', desc='$_POST[desc]', bio='$_POST[bio]', news='$_POST[news]', avenir='$_POST[avenir]', objectif='$_POST[objectif]', clip1='$_POST[clip1]', video='$_POST[video]', clip2='$_POST[clip2]', son1='$_POST[son1]', son2=$'_POST[son2]', dateMAJ='$dateMAJ', confirmMAJ='$confirmMAJ  WHERE login='$_SESSION[login]'") or die ('Erreur : '.mysql_error() );

p****n j'ai galerer pour les trouver celle la trop le nez dans le guidon...
comme quoi les petites erreurs font les gros mal de tete...
jeudi 17 janvier 2008 à 07:49:56 | Re : Erreur de syntaxe près de

malik7934

Si tu veux éviter ces erreurs, il y a une manière assez simple de le faire: construire autrement tes requêtes, de manière plus lisible (après tu fais ce que tu veux hein).

$query = "UPDATE log SET ";
$query .= "nom='$_POST[nom]', ";
$query .= "prenom='$_POST[prenom]', ";
$query .= "adresse='$_POST[adresse]', ";
$query .= "ville='$_POST[ville]', ";
$query .= "... ";
$query .= "dateMAJ='$dateMAJ', ";
$query .= "confirmMAJ='$confirmMAJ  ";
$query .= "WHERE login='$_SESSION[login]'";
mysql_query($q);

Ainsi, en cas d'erreur, tu sais tout de suite à quelle ligne c'est.

PS: J'éviterais les double quote pour ma part: plutôt 'ville=\''.$_POST[ville].'\', '; que "ville='$_POST[ville]', ";

*****
noisy communication - wherever, be everywhere!

jeudi 17 janvier 2008 à 10:28:58 | Re : Erreur de syntaxe près de

jphilippev

Salut Malik et merci
ta facon de faire est très bien elle me permet de mieux voir ma requete et par la suite de rajouter des ligne de façon plus intuitive c'est cool

le truc des quotes c'est mieux de faire

$query .= ' nom=".$_POST[nom].", ';
que
$query .= " nom='.$_POST[nom].',";

c'est pour la rapidité?

jeudi 17 janvier 2008 à 10:32:20 | Re : Erreur de syntaxe près de

malik7934

Attention tu oublies des backslashs!
$query .= ' nom=\''.$_POST[nom].'\', ';

Si tu mets des doubles quotes, il y a 2 problèmes:
1) la rapidité car PHP doit vérifier la différences entre les variables et les strings (mais bon, c'est selon moi du détails)
2) la lisibilité dans les requêtes (c'est mon avis): ' et " se mélangent vite :-)

*****
noisy communication - wherever, be everywhere!

jeudi 17 janvier 2008 à 10:33:13 | Re : Erreur de syntaxe près de

malik7934

et en principe c'est $_POST['nom']

*****
noisy communication - wherever, be everywhere!

jeudi 17 janvier 2008 à 11:17:36 | Re : Erreur de syntaxe près de

jphilippev


exact c'est

$query .= 'nom=\''.$_POST['nom'].'\', ';

dis moi j'ai une erreur sur

$query .= 'desc=\''.$_POST['desc'].'\', ';

alors que quand je met

$query .= '`desc`=\''.$_POST['desc'].'\', ';

ca fonctionne desc est un champ texte multiligne
mais j'ai d'autres champs multiligne et je n'ai pas besoin de mettre les petits `
tu sais d'ou ca vient?
jeudi 17 janvier 2008 à 11:20:04 | Re : Erreur de syntaxe près de

malik7934

à mon avis c'est un problème de traitement de ta chaîne. Fais un echo de query et testes dans phpmyadmin, tu verras rapidement.

*****
noisy communication - wherever, be everywhere!

jeudi 17 janvier 2008 à 19:54:11 | Re : Erreur de syntaxe près de

malalam

Administrateur CodeS-SourceS
Hello,

tu as des apostrophes dans ta variable. Tu dois protéger les données utilisateurs que tu insères dans ta base. la meilleure fonction pour ça avec mysql étant mysql_real_escape_string().

vendredi 18 janvier 2008 à 10:28:20 | Re : Erreur de syntaxe près de

jphilippev

salut malalam
en quoi cela pose des problèmes de sécurité?
(juste pour savoir) je vais aller voir real_escape de ce pas!


1 2

Cette discussion est classée dans : erreur, post, news, avenir, bio


Répondre à ce message

Sujets en rapport avec ce message

Prob : UPDATE, erreur SQL... [ par tomatokatchup ] Voici la syntaxe de mon update :$descr = addslashes($_POST['desc']);$lien = mysql_connect ($hote, $user, $mdp);$requete = "UPDATE tmt_tourney SET titr Erreur internet explorer lors de post de formulaire [ par tetnobic ] Ma foi oui j'ai une erreur vraiment bizarre, j'explique :quand je poste un formulaire qui permet l'ajout de donnée dans une base j'ai eu belle erreur erreur GET/POST [ par lolo49 ] lolo49bonjour,j'ai un souci avec PHP4je résume : j'ai une base de donnée MySql avec des clientsje peux soit - afficher la liste complète so injection sql et $_POST [ par papipsycho ] bonjour a tous voila se matin je me suis dit que jallait fait la chasse o faille sur mon site j'ai commencer par les xss sa c fini mais les injection Problème de requete SQL [ par MrsDallara ] Bonjour à tous, j'ai une requete SQL qui ne s'execute pas, alors que je ne vois pas où l'erreur peut se trouver. Voici donc l'ensemble du code qui nou Comment je peu réinterpreté une erreur sql en php [ par sense ] Bonjour à tous Je voudrais récupéré une erreur sql en php car l'erreur qui se crait est Duplicata du champ 'test2' pour la clef 2 Elle est du a un Erreur unexpected T_IF [ par jimmypage64 ] Bonjour j'ai une petite erreur dans mon code et je ne vois pas du tout d'ou cela peut venir !!! Mon code est le suivant : if (isset($_POST['validinsc je veux supprimer news et je n'y arrive pas [ par Miss1 ] Miss1salut j'ai réussi a demander a l'utilisateur de rentré des news et d insertion dans une base [ par 01cod10 ] pouvez vous m'aider à corriger ce bout de script. Voici le message d'erreur que j'ai eu :  Erreur SQL !INSERT INTO membres VALUES("", "monia", "ff3d00 Concerver des $_POST apres erreur [ par jantonazzo ] Bonjour à tous.J'ai un petit probleme pour concerver les champs envoyé si une erreur s'est produite.En gros j'ai un formulaire à 7 champs, si les 7 ch


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,730 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales