HELPPPPP !!!!! PHP

ABEL1976 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
NDOUKI Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
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
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
Et ce serait plus un $req = "UPDATE images SET pass_id='".$pass_id."', etc... WHERE pass_id = '".$nom."'";
0
NDOUKI Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Salut,
A quoi servent les points dans ta requête ????
0
NDOUKI Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
les points te permettre de déterminer qu'il s'agit d'une variables et ça s'appelle une concaténation
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Dans une requête une virgule suffit !
0
vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Pourquoi tu te fou de ma gueule alors que j'ai raison ??
0
vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
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
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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