Unexpected t_constant_encapsed_string

Résolu
Bonjour,
Est-ce que quelqu'un peut m'aider, il y a une erreur dans ma requete mais je ne peux la trouver.
J'ai soit un message " unexpected t_constant_encapsed_string"
Soit un message unexpected t_string_encapsed_string
Soit un message me disant une erreur near where

$req = 'INSERT INTO images (img_taille, img_type, img_blob ) VALUES ('.$img_taille.','.$img_type.','.addslashes ($img_blob).') where nom='.$img_nom.'';

Merci de votre aide
Configuration: Linux
Firefox 3.0.6

3 réponses

  1. Bonsoir,

    essayes avec cette forme:

    $req = "INSERT INTO images (img_taille, img_type, img_blob ) VALUES ('".$img_taille."','".$img_type."','".addslashes ($img_blob)."') WHERE nom='".$img_nom."'"; 
    
    1. Merci, ca ne fonctionne pas plus, le serveur me retourne cette erreur

      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 nom='GervaisRuel.JPG'' at line 1
  2. de mémoire, mais à vérifier, il n'y a pas de condition WHERE avec INSERT INTO

    Si c'est une mise à jour utilises UPDATE...

    et la tu mettra WHERE....
    1. Merci, Alain,
      J'essai avec update mais il me donne encore une erreur de syntaxe
      La requete devrait etre qcq comme ça il me semble

      $req = "update images 'img_taille='".$img_taille."' and img_type='".$img_type."' and img_blob='".addslashes ($img_blob)."'' where nom = '".$img_nom."'";
    2. Contributeur
      @gervaista requête est fausse!
      UPDATE "nom de table"
      SET "colonne 1" = [nouvelle valeur]
      WHERE {condition}
      

      voila une forme de requête update
    3. @bissdebrazzaMerci pour votre aide,
      J'ai du le faire en 3 requetes mais cela fonctionne

      $req = "update images set img_taille='".$img_taille."' where nom = '".$img_nom."'";
      $ret = mysql_query ($req) or die (mysql_error ());

      $req = "update images set img_type='".$img_type."' where nom = '".$img_nom."'";
      $ret = mysql_query ($req) or die (mysql_error ());

      $req = "update images set img_blob='".addslashes ($img_blob)."' where nom = '".$img_nom."'";
      $ret = mysql_query ($req) or die (mysql_error ());
  3. Contributeur
    Salut!
    moi je te la fais en une seule requête:
    $req = "update images set img_taille='".$img_taille."',img_type='".$img_type."',img_blob='".addslashes ($img_blob)."' where nom = '".$img_nom."'"; 
    $ret = mysql_query ($req) or die (mysql_error ());
    
    1. Merci beaucoup,
      C'est encore mieux comme ça