IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Je ne trouve pas mon erreur de syntaxe


Sujet :

PHP & Base de données

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Je ne trouve pas mon erreur de syntaxe
    Bonjour.
    Je me prend le chou a comprendre pourquoi j'ai une erreur de syntaxe "near int"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $sql_batterie = '
    	UPDATE batteries SET
    	marque 		= "'.$_POST['marque'].'",
    	categorie 	= "'.$_POST['categorie'].'",
    	carburant 	= "'.$_POST['carburant'].'",
    	cc 			= "'.$_POST['cc'].'",
    	type 		= "'.htmlentities($_POST['type'],ENT_COMPAT,'UTF-8').'",
    	temps 		= "'.htmlentities($_POST['temps'],ENT_COMPAT,'UTF-8').'",
    	annee 		= "'.htmlentities($_POST['annee'],ENT_COMPAT,'UTF-8').'",
    	batteries 	= "'.htmlentities($_POST['batterie'],ENT_COMPAT,'UTF-8').'",
    	prixcat 	= "'.htmlentities($_POST['prixcat'],ENT_COMPAT,'UTF-8').'",
    				prix 		= "'.htmlentities($_POST['prix'],ENT_COMPAT,'UTF-8').'"
    	WHERE int = '.$_POST['id'];
    $sql_query = mysql_query($sql_batterie)or die('Error SQL !'.$sql_batterie.'<br>'.mysql_error());
    Que pourriez-vous me dire?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Je crois que l'erreur vient du int
    int doit est un mot réservé et je l'ai remplacé par "inte"
    Ca semble marcher.

    Es-ce bien ca?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Possible, par contre sur la syntaxe tu devrais employer des fonctions et méthodes plus conventionnelles cela t'éviteras de mauvaises surprises et te facilitera la tâche.

    Notamment tu devrais commencer ta chaine par une double quote ce qui te permettra de mettre des simples quotes autour de tes variables. C'est plus logique.

    Ensuite toutes tes variables devraient être protégées par la fonction mysql_real_escape_string. C'est important pour éviter des trous de sécurité.

    Tu ne devrais pas utiliser "htmlentities" pour protéger tes variables dans ta bdd mais uniquement pour protéger tes variables à l'affichage (echo htmlentities($batterie)).

    Essaies de suivre ces principes c'est le meilleur moyen d'avoir un code fonctionnel et facilement évolutif. Par exemple en employant htmlentities dans ta table il te sera impossible ensuite de faire une recherche qui sera insensible aux caractères accentués.

    Et pour finir si tu es sur un nouveau projet il est recommandé de ne plus utiliser l'extension mysql (obsolète en php 5.5) mais de préférer mysqli ou pdo.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE `int` = '.$_POST['id'];
    A+.

Discussions similaires

  1. Je trouve pas l'erreur de mon programme
    Par cyril57 dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 02/09/2010, 11h05
  2. Je ne trouve pas l'erreur dans mon code
    Par true-life dans le forum Débuter
    Réponses: 4
    Dernier message: 25/04/2009, 10h40
  3. je ne trouve pas l'erreur dans mon programme
    Par Briska dans le forum Débuter
    Réponses: 19
    Dernier message: 04/04/2008, 09h21
  4. Réponses: 6
    Dernier message: 14/12/2006, 00h37
  5. Réponses: 4
    Dernier message: 10/08/2006, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo