HELPPPPP !!!!! PHP

Bonjour,

J'ai systématiquement un msg d'erreur sur ce bout de code :
$req = "INSERT INTO images ("."	pass_id,img_nom, img_taille, img_type, img_blob ".") VALUES (". 
"'".$pass_id."', ". 
"'".$img_nom."', ". 
"'".$img_taille."', ". 
"'".$img_type."', ". 
"'".addslashes ($img_blob)."') WHERE pass_id='$nom'"; 


Je pense peut être a une erreur de syntaxe mais je ne voie pas ou !!!

Merci de votre aide

Bonne soirée

3 réponses

  1. Salut,

    Je ne pense pas que l'on puisse faire de WHERE sur un INSERT INTO...
    Et le code en lui même...

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

    0
    1. Et ce serait plus un $req = "UPDATE images SET pass_id='".$pass_id."', etc... WHERE pass_id = '".$nom."'";
      0
    2. slut,
      je pense que ce serait plutot un UPDATE sinon la d'insertion sera

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

      seulement si ton pass_id est auto-incrementé
      0
  2. Salut,
    A quoi servent les points dans ta requête ????
    0
    1. les points te permettre de déterminer qu'il s'agit d'une variables et ça s'appelle une concaténation
      0
    2. Dans une requête une virgule suffit !
      0
    3. merci Melooo de ta sagesse de bac+1 en informatique :)

      les points c'est l'opérateur de concaténation de chaine en php et ca n'as rien a voir avec du sql...

      ABEL> pour ta requète, sache qu'elle est syntaxiquement fausse.
      comme j'ai dis plus haut, le point est l'opérateur de concaténation, donc dans ta requète tu concatène inutilement 2 chaine, puis tu met dans la chaine ce qui semblerais être une variable php (mais tu ne met pas de $).
      donc en gros tu compte ajouter des valeurs dans des colonnes qui n'existe probablement pas (biensur je me base sur le nom de tes variables qui ressemble a ce que tu as mis comme nom de colonne dans ta requète.

      de plus comme dit plus haut, il n'y as pas de where dans un insert (vois du coté du update ou du replace).
      0
    4. Pourquoi tu te fou de ma gueule alors que j'ai raison ??
      0
    5. oui tu as raison, mais il n'as pas tort de vouloir utiliser des points pour concaténer vu qu'il utilise du php (et désolé si mon ironie a été mal pris)
      0
  3. Contributeur
    Hello,

    On se calme ici !
    En effet ici la concaténation ne sert à rien, puisque le point sert à coller deux chaînes entre elles ; autant les mettre de suite ensemble.

    De même, un WHERE dans un INSERT INTO est une aberration qui montre bien que tu n'as pas tout compris aux requêtes SQL.

    La requête serait celle la : https://forums.commentcamarche.net/forum/affich-24107183-helppppp-php#2
    0