Erreur syntaxe PHP mysql

ZeciStuFF Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
 le père -
Bonjour,

J'ai une erreu sur cette ligne et je ne vois pas d'ou elle viens
$sql = 'UPDATE categories WHERE id="' . $_POST['cat'] . '" VALUES("", "'.mysql_escape_string($_POST['ncat']).'", "'.mysql_escape_string(($_POST['description'])).'")';


voila l'erreur :
Erreur SQL !UPDATE categories WHERE id="5" VALUES("", "php", "laa")
Erreur de syntaxe près de 'WHERE id="5" VALUES("", "php", "laa")' à la ligne 1

Faites pas attention aux valeurs c'était pour faire des tests :)

3 réponses

  1. le père
     
    Bonjour

    La clause WHERE doit être après VALUES(..)
    0
  2. ZeciStuFF Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   29
     
    voila donc la ligne corrigée
    $sql = 'UPDATE categories  VALUES("", "'.mysql_escape_string($_POST['ncat']).'", "'.mysql_escape_string(($_POST['description'])).'") WHERE id="' . $_POST['cat'] . '"';


    Cependant j'ai toujours l'erreur !
    0
  3. le père
     
    Le message d'erreur a dû changer...

    Mais c'est vrai que la syntaxe d'UPDATE n'utilise pas VALUES (ça c'est pour INSERT) mais SET colonne1=valeur1, colonne2=valeur2...

    et tu devrais utiliser aussi mysql_escape_string dans ton WHERE id= "$_POST|'cat']"
    0