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 :

erreur de syntaxe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut erreur de syntaxe
    Bonjour
    je suis en train de monter un site dynamique en php et en flash(flash on a pas besoin aujourd'hui) et quand je veux editer le texte qui est dans une Base de donnée ca me met lerreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query failed: 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 'WHERE id='9'' at line 1

    et voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function editarticle($L) {
        $Q="UPDATE article SET %s WHERE id='".mysql_escape_string($L["id"])."'";
        $D=$this->getarticle($L["id"]);
        $S=array();
        foreach($L as $K=>$V) {
          if ($K!="id") {
    	if ($D[$K]!=$V) { // is the data is not similar to the actual data in the DB
    	  array_push($S,$K."='".$V."'");
    	}
          }
        }
        $query=sprintf($Q,implode(",",$S));
     
    print "<!--".$query ."-->";
        $this->db->insert($query);
        return $this->getarticle($L["id"]);
      }
    merci de me donner vos impression
    Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10

  2. #2
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Quelle est la requête qui est exécuté ? C'est par la que tu dois commencer.
    Une fois que tu sais quelle est l'erreur sql, tu corriges la requete pour la faire passer. Une fois que tu sais ce qu'il a fallu faire pour la corriger, tu "recopie" la méthode dans ton code php.

    A vue de nez, je dirais qu'ici c'est un problème de quote ou d'échapement de caractère.
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  3. #3
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Si ton id est numérique (j'en doute vu que tu passes un coup de mysql_escape_string mais bon) il ne faut pas l'entourer de quotes.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  4. #4
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    j'ai des info dans ma base de donner, et je veux les editer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    if ($_POST)
    		{ 
    			$data["id"]=$_POST["id"];
    			$data["titre"]=$_POST["titre"];
    			$data["link"]=$_POST["link"];
    			$data["texte"]=$_POST["texte"];
    			$data["ladate"]=$_POST["ladate"];
    			$edit=$_POST["edit"];
    			$delete=$_POST["delete"];
    			if ($data["id"]) 
    				{
    					if ($delete==1) 
    						{
    							$X->deletearticle($data["id"]);
    						}
    					elseif ($edit==1) 
    						{
    							$article=$X->getarticle($data["id"]);
    						} 
    					else 
    						{
    							$X->editarticle($data);
    						}
    				}
    			else
    				{
    					$X->newarticle($data);
    				}
     
    		}

    le mysql_escape_string etais un test qui ne marche pas plus!
    je vous invite a aller voir

    http://jessicaharnois.com/admin/article.php
    http://jessicaharnois.com/admin/clas...icle.class.php

    C'est en fesant un edit, pcq le supprime marche et pour entrer des donné aussi

    merci
    Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10

  5. #5
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Si tu veux qu'on puisse t'aider, poste un exemple de requête qui foire. C'est par là qu'il faut commencer.
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  6. #6
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    bien quand je post (bien quand je fait un edit) je met le # de id et je click sur le bouton et ca me met le message suivant

    Query failed: 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 'WHERE id='8'' at line 1
    Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10

  7. #7
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Rhalala...

    J'allais te dire de faire un echo de ta requete, et en relisant ton code pour voir ou le mettre, je vois que t'en a déjà un, avec des <!-- --> autour, ce qui fait que ta requete est affichée, mais en commentaire dans le code html et donc visible directement... enfin bref, en regardant le code généré sur ta page, j'ai vu ta requete qui est finalement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE article SET  WHERE id='8'
    Et là, tu vois tout de suite un probleme. T'as rien entre "SET" et "WHERE".
    Maintenant que tu sais ca, regarde de nouveau ton code pour comprendre l'origine du problème.
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  8. #8
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    ok je te revien avec ca plus tard

    merci
    Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10

  9. #9
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    gooooooooooooood jai trouvé

    une niaiserie, bien plutot 2,

    dans mon formulaire: confli de variable
    dans une fonction: function getarticle($id)

    avec le confli de variable PhP ne prenais pas la bonne fonction(if else) et ma fonction netais pas bien déclarer!

    merci bien de ton aide!
    Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Directives] Page blanche quand erreur de syntaxe
    Par syl2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 17/02/2006, 15h15
  2. [sql] erreur de syntaxe
    Par cmoa59 dans le forum JDBC
    Réponses: 14
    Dernier message: 03/05/2005, 11h41
  3. erreur de syntaxe en C++
    Par sergepmessa dans le forum C++
    Réponses: 6
    Dernier message: 11/03/2005, 18h15
  4. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 14h53

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