Unexpected t_constant_encapsed_string

Résolu
gervais -  
 gervais -
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. Alain_42 Messages postés 5413 Statut Membre 904
     
    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. gervais
       
      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. Alain_42 Messages postés 5413 Statut Membre 904
     
    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. gervais
       
      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
      1. bissdebrazza Messages postés 2886 Statut Contributeur 712 > gervais
         
        ta requête est fausse!
        UPDATE "nom de table"
        SET "colonne 1" = [nouvelle valeur]
        WHERE {condition}
        

        voila une forme de requête update
        0
      2. gervais > bissdebrazza Messages postés 2886 Statut Contributeur
         
        Merci 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. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    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. gervais
       
      Merci beaucoup,
      C'est encore mieux comme ça
      0