Concaténation dans une requête SQL

Répondre
Benamour Jr
le 30/03/2010 à 01:28
Benamour Jr
Bonsoir !

J'essaye depuis quelques temps de faire fonctionner une requête SQL... en vain :s
Dans mon code je récupère deux types de variables provenant d'un formulaire (des $_POST['lien1'], $_POST['lien2'], $_POST['lien3'],... et ainsi de suite ainsi que des $_POST['id1'], $_POST['id2'],...) que j'utilise dans une requête SQL que voici :

<?php
for ($nb_lignes = 1; $nb_lignes <= $_POST['nb_liens']; $nb_lignes++)
{
$table = $_POST['lien' . $nb_lignes . ''];
$id2 = $_POST['id' . $nb_lignes . ''];
$requete = "INSERT INTO ".$table."(id_article, id2) VALUES('".$_GET['id']."', '".$id2."')";
echo $requete . '<br />'; // que j'ai inséré pour y voir plus clair dans mon erreur
$bdd->exec($requete);
}
?>


l'echo $requete me retourne ceci quand $_POST['nb_liens'] vaut par exemple 3 :

INSERT INTO article_presse_dossier(id_article, id2) VALUES('47', '5')
INSERT INTO article_presse_individu(id_article, id2) VALUES('47', '2')
INSERT INTO article_presse_dossier(id_article, id2) VALUES('47', '2')

Ce qui me semble tout à fait correct, puis que j'ai les champs 'id_article' et 'id2' dans les deux tables concernées. Seulement voila, rien n'est ajouté dans mes tables... ca ne fonctionne pas :s

Si quelqu'un pouvait m'aider à trouver mon erreur je lui en serais vraiment très reconnaissant, merci ! :)
Amery
le 30/03/2010 à 10:25
Amery
Salut,

Je suis pas sûr que ça résolve ton problème, il manque un espace dans ta requête:

<?php
$requete = "INSERT INTO ".$table." (id_article, id2) VALUES('".$_GET['id']."', '".$id2."')";
?>


Sinon, aucun message d'erreur? La connexion à la table est bien faite?
Benamour Jr
le 30/03/2010 à 13:41
Benamour Jr
en fait mon erreur était toute bête :s mon champ c'est id_article_presse et non id_article... j'ai honte :D
Amery
le 30/03/2010 à 14:21
Amery
Ca arrive même aux meilleurs! smiley

Par contre, tu aurais dû avoir un message d'erreur te disant que le champs d'existait pas... Ca t'aurais évité de tourner en rond pendant des heures...
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours