Requête Insert

Résolu/Fermé
mipolette Messages postés 99 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 22 mai 2014 - 30 oct. 2012 à 19:20
 Utilisateur anonyme - 31 oct. 2012 à 15:17
Bonjour,

J'ai eu beau chercher sur le web des personnes qui ont rencontré le même problème que moi, je n'arrive pas à trouver le cas précis qui permet de m'aider.
Voila, j'essaie de faire une requête Insert into (une variable), mais ça ne fonctionne pas.Cela ne me génère aucunes erreur, mais ma requête n'est pas enregistrée dans la BDD.Voici ma requête:

$reqAjoutUsers = $bdd->prepare("INSERT INTO" . $_POST["cboCategorie"] . "(nom, description) VALUES (:nom, :description)");


J'ai bien vérifié que ma variable $_POST["cboCategorie"] correspond au nom de ma table(en faisant un echo), et si je remplace ma variable directement par le nom de la table, cela fonctionne.
J'imagine bien que le problème provient du fait que ma requête ne lit pas le nom de ma variable, et j'ai eu beau essayé de mettre des "" et des '', cela ne fonctionne pas.

Est ce que quelqu'un pourrait me donner un petit coup de pouce pour m'expliquer ce qui se passe?
Merci d'avance.


3 réponses

mipolette Messages postés 99 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 22 mai 2014 99
30 oct. 2012 à 19:55
Du coup aprés avoir essayé tout et n'importe quoi, j'ai essayé cette ligne de de code sans grande conviction:

$reqAjoutUsers = $bdd->prepare("INSERT INTO $cboCategorie (nom, description) VALUES (:nom, :description)");


et cela fonctionne parfaitement.

Donc du coup, je change ma question, et demande désormais:"pourquoi c'est cette syntaxe qui fonctionne?".
Car mon but n'est pas simplement que ça fonctionne, c'est surtout savoir pourquoi?
Merci d'avance pour vos réponses.
0
mipolette Messages postés 99 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 22 mai 2014 99
30 oct. 2012 à 19:56
avec bien sur $cboCategorie = $_POST["cboCategorie"];

;)
0
Utilisateur anonyme
30 oct. 2012 à 21:35
Bonsoir

Ta première version ne marche pas parce qu'il n'y a pas d'espace après INTO.
C'est comme si tu avais écrit
("INSERT INTO$cboCategorie (nom, description) VALUES (:nom, :description)"
0
mipolette Messages postés 99 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 22 mai 2014 99
31 oct. 2012 à 13:34
exact, merci beaucoup..Je cherchais bcp trop loin...
Merci le père!!
0
Utilisateur anonyme
31 oct. 2012 à 15:17
De rien
0