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 :
au test j'ai cette erreur (sur la seconde requete):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'].''; } } } ?>
la première requète, construite sur le meme modele passe niquel.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
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.
Partager