Bug de variable dans une boucle for
Bonjour,
Dans le cadre d'un projet d'entreprise, je développe une web appli de formation avec des abonnement et des abonné (personnes)
J'ai construis un script permettant de vérifier la présence d'une réciprocité abonnement - abonné.
Mais certaine variable passe mal dans mes requètes SQL.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?php
/*-------------Selection des abonnements du profil -----------*/
$sql1 = mysql_query('SELECT ID_profil, ID_abonne FROM abonnement WHERE ID_profil = '.$id.'') or die ('1'.mysql_error());
while ($result1 = mysql_fetch_array($sql1)){
$id_abo[] = ''.$result1['ID_abonne'].'';
}
/*-------------Vérification de la réciprocité -----------*/
$n = 0;
for ($n=0;$n<=count($id_abo);$n++){
$a = $id_abo[$n];
$sql2 = mysql_query("SELECT ID_profil, ID_abonne FROM abonnement WHERE ID_profil = ".$a."") or die ('2'.mysql_error());
$result2 = mysql_fetch_assoc($sql2);
/*-------------si réciprocité, passage des variables d'affichage -----------*/
if (isset($result2)){
$sql3 = mysql_query("SELECT id, nom, prenom FROM creationcompte WHERE id = ".$a."") or die ('3'.mysql_error());
while ($result3 = mysql_fetch_array($sql3)){
$prenom_abo[] = ''.$result3['prenom'].'';
$nom_abo[] = ''.$result3['nom'].'';
}
}
}
?> |
au test j'ai cette erreur (sur la seconde requete):
Citation:
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 '' at line 1
la première requète, construite sur le meme modele passe niquel.
Si je change '.$a.' par 3 (ce qui correspond à $id_abo[0]), les requetes passent niquel
si je fige $a par un $a = 3, pareil.
le test de echo ($id_abo[$n]) dans ma boucle donne 3...
Je n'arrive pas à comprendre mon erreur.
Pouvez-vous m'apporter vos lumière?
Merci d'avance.