Erreur de syntaxe php ou bien ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur de syntaxe php ou bien ?

Re: Erreur de syntaxe php ou bien ?

par xTG » 17 févr. 2012, 10:40

Si tu as besoin de quote c'est que ton idunique n'est pas un numérique.
Et cela me semble donc bizarre que PhpMyAdmin ne t'ai pas renvoyé une erreur lorsque tu as testé la requête...
M'enfin bon si c'est réglé... :)

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 17 févr. 2012, 10:33

Ayé j'ai trouvé l'erreur.

Il prefere cette ecriture:
$count = $bdd->exec("UPDATE com_jeton SET autorisation='1' WHERE idunique='$idunique_IC'");
plutot que celle ci !
$count = $bdd->exec("UPDATE com_jeton SET autorisation='1' WHERE idunique=$idunique_IC");
Difference minime mais essentielle a mon traitement !
Un UPDATE ne renvoie jamais d'enregistrement...
A ce sujet, je voulais simplement dire que lorsque tu execute la requete sql, phpmyadmin te renvoi le nombre d'enregistrement affecter par la ligne de commande. Je suis d'accord avec toi que ca ne renvoi rien. Simplement phpmyadmin permet d'etre sur que la requete fait bien ce kon lui demande.

Merci pour ton aide et c grace a toi que j'ai mis le doigt sur cette erreur de syntaxe.

Re: Erreur de syntaxe php ou bien ?

par xTG » 16 févr. 2012, 21:44

Un UPDATE ne renvoie jamais d'enregistrement...
Va falloir creuser en priorité la documentation du langage SQL. ;)

Tu peux supprime la partie du SET et remplacer UPDATE par SELECT * pour obtenir une requête de sélection et ainsi vérifier que l'id pointe bien vers un n-uplet existant.

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 16 févr. 2012, 21:02

hum

bon ca ne renvoi pas d'erreur et ca n'affecte aucun enregistrement ! je suis perplexe la c de la magie ^^.

Je vais creuser avec tes info xtg. merci.

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 16 févr. 2012, 20:49

oh oui ! kel fichu idiot je suis ^^


Je test ca je te repond ensuite !

Merci mec

Re: Erreur de syntaxe php ou bien ?

par xTG » 16 févr. 2012, 20:45

Euh non jusqu'aux dernière nouvelles un SGBD interprète du code SQL et non PHP. ;)
PhpMyAdmin est juste un logiciel graphique, donc lui aussi il attend du SQL, c'est d'ailleurs le titre de l'onglet que tu utilises dans la majorité des versions.
UPDATE com_jeton SET autorisation='1' WHERE idunique=151
151 à remplacer par ton id.

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 16 févr. 2012, 20:29

heu je crois avoir trouver! si ya juste le bout de code a tester sans rien d'autre j'obtient cette erreure:

Erreur
Il semble qu'il y ait une erreur dans votre requête SQL. Le message ci-bas peut vous aider à en trouver la cause.

ERROR: Ponctuation invalide @ 14
STR: ->
SQL: $count = $bdd->query("UPDATE com_jeton SET autorisation='1' WHERE idunique=$idunique_IC")

requête SQL:

$count = $bdd->query("UPDATE com_jeton SET autorisation='1' WHERE idunique=$idunique_IC")

MySQL a répondu:

#1064 - 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 '$count = $bdd->query("UPDATE com_jeton SET autorisation='1' WHERE idunique=$idun' at line 1

ca aide pas des masses lol

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 16 févr. 2012, 20:29

absolument pas !

tu fai ca comment dans phpmyadmin ?

Re: Erreur de syntaxe php ou bien ?

par Thibaud C » 16 févr. 2012, 20:23

tu as test un echo de ta req avec un test sql direct dans phpmyadmin ?

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 16 févr. 2012, 20:22

bon ben non plus :/

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 16 févr. 2012, 20:20

;p merci je v tester de suite !

Re: Erreur de syntaxe php ou bien ?

par Thibaud C » 16 févr. 2012, 20:18

Pareil que ta exec mais avec query :)

Re: Erreur de syntaxe php ou bien ?

par demonjhpn » 16 févr. 2012, 20:16

Je n'ai pas acces au log. En fait ce code signe la fin du traitement des reglements paypal. Les fameux NIP.

J'essai simplement de mettre a jour la base mais rien n'y fait. J'ai egalement essayer simplement ca:
$count = $bdd->exec("UPDATE com_jeton SET autorisation='1' WHERE idunique=$idunique_IC");
Mais idem ca ne passe pas !

La req query tu l'ecrirais de quelle maniere ?

Re: Erreur de syntaxe php ou bien ?

par xTG » 16 févr. 2012, 20:05

Rien qui flashe si ce n'est l'utilisation d'une requête préparée alors que PDO::query() suffirait amplement.
S'il y a une erreur mais que c'est un cron qui l'exécute regardes les logs de PHP.

Erreur de syntaxe php ou bien ?

par demonjhon » 16 févr. 2012, 20:01

Bonjour a tous,

Ai une erreur de syntaxe dans ce code php ?
$count = $bdd->prepare('UPDATE com_jeton SET autorisation=:autorise WHERE idunique=:idun');
             $count->execute(array(
             'autorise' => '1',
             'idun' => $idunique));
ET si non d'ou peut venir mon erreur ? je n'ai pas de message d'erreur car c'est un code qui ai appelé de l'extérieur de mon site pour un traitement.
Je me bidouillerais un outil de debug si vous ne trouvez rien que vous flash les yeux !

Merci a vous tous !