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."'"; 
    
    0
    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
      0
  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....
    0
    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."'";
      0
    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
      0
    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 ());
      0
  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 ());
    
    0
    1. Merci beaucoup,
      C'est encore mieux comme ça
      0