Erreur syntaxe PHP mysql

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. Bonjour

    La clause WHERE doit être après VALUES(..)
    0
    1. 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
      1. 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