[RESOLU] erreur syntaxe

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 : [RESOLU] erreur syntaxe

Re: erreur syntaxe

par blof » 22 oct. 2013, 20:11

Toujours pas compris pourquoi ?
le champ `yvert` est une chaine de caractères et doit être encadré par des simples cotes, ce que tu n'avais pas fait.

Par contre prends bien en compte la remarque de xTG sur les injections SQL

EDIT: j'avais pas vu la réponse de xTG, mais on est pas d'accord. ( et j'ai raison :) )
EDIT 2 : on est pas d'accord parce que xTG est sur la code de damien_55 et moi sur le tien. (donc j'ai rien dit)

Re: [RESOLU] erreur syntaxe

par xTG » 22 oct. 2013, 20:05

Hum je pensais le * obligatoire mais à lire la doc mysql ce n'est pas le cas...
La différence fondamentale vient de la protection de la variable injectée pour le nom de table.
Si tu regardes ton message d'erreur on y voit un espace à la fin.

Re: erreur syntaxe

par michel71 » 22 oct. 2013, 19:52

celle-ci fonctionne !!
$sql= "DELETE FROM ".$_SESSION['chemin_collec']." WHERE yvert='".$index."'";
Toujours pas compris pourquoi ?

Re: erreur syntaxe

par xTG » 22 oct. 2013, 18:28

$sql= "DELETE * FROM ". mysql_real_escape_string($_SESSION['chemin_collec']) ." WHERE yvert='". mysql_real_escape_string($index) ."'";
;)

Toujours protéger les variables injectées dans une requête SQL.
Sinon c'est la porte ouverte au malheur.

Re: erreur syntaxe

par blof » 22 oct. 2013, 18:00

Salut,

une autre :
$sql= "DELETE FROM ".$_SESSION['chemin_collec']." WHERE yvert='".$index."'";
on va y arriver :)

Re: erreur syntaxe

par michel71 » 22 oct. 2013, 17:47

Désolé, ça ne marche pas j'ai toujours la même erreur

N° 999999Erreur SQL !
DELETE FROM 'timbresdefrance_collections.mich ' WHERE yvert= 'N° 999999'
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 ''timbresdefrance_collections.mich ' WHERE yvert= 'N° 999999'' at line 1

Re: erreur syntaxe

par damien_55 » 22 oct. 2013, 16:19

Slt,
$sql= "DELETE FROM '".$_SESSION['chemin_collec']."' WHERE yvert= '".$index."'";

erreur syntaxe

par michel71 » 22 oct. 2013, 16:11

Bonjour,

Quelqu'un peut il m'aider à résoudre ce problème
$index='N° '.$_POST['num_timbre'];

// lecture de la table 
   		$sql= 'DELETE FROM '.$_SESSION['chemin_collec'].' WHERE yvert='.$index;
   		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

Voici l'erreur

N° 999999Erreur SQL !
DELETE FROM timbresdefrance_collections.mich WHERE yvert=N° 999999
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 '° 999999' at line 1

La table comporte bien la colonne "yvert" avec le texte "N° 999999"

Merci