Simple resquette sql avec un variable.

Fermé
Doctori Messages postés 3 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 19 mai 2010 - Modifié par Doctori le 19/05/2010 à 00:06
avion-f16 Messages postés 19125 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 23 mars 2023 - 22 mai 2010 à 22:36
Bonjour,
je debute le sql/php
en general j'arrive a me depatouiller tout seule mais là ... j'galere
voila j'essaye de faire quelque page pour gere ma collection de vinyles
je voudrai simplement afficher des image de pochette aleatoirement (3 ou 4 )
(j'ai stoké leur chemin dans une colonne de ma table )
j'ai genré aleatoirement un nombre compris entre le premier ID et le dernier.
mais au moment de retrouver cet album avec cet id .. impossible
si j'fais un echo $id ça passe mais quand j'fais
(voila toute la boucle

while($i<4)
 
{
	$id = rand(20, $donnee['nbvinyles']);

	 $reponse = $bdd->query('SELECT illustration FROM vinyles WHERE index =  "$id" ')or die(print_r($bdd->errorInfo()));
	
	 $illu = $reponse->fetch();
	 ?>
	 
 <img src=<?php echo $illu['illustration']; ?> width="170" height="170" alt="la marmotte" />
 <?php
$reponse->closeCursor();
$i=$i+1;
}

j'ai cette erreur

Array ( [0] => 42000 [1] => 1064 [2] => 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 'index = "$id"' at line 1 ) 1


merci de votre attention
et si quelqu'un a une idée ..
y a surement juste un problem de synthaxe

3 réponses

bissdebrazza Messages postés 2064 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 713
19 mai 2010 à 03:17
Salut!

Essai avec ceci

while($i<4)
 
{
	$id = rand(20, $donnee['nbvinyles']);

	 $reponse = $bdd->query("SELECT illustration FROM vinyles WHERE index =  '$id' ")or die(print_r($bdd->errorInfo()));
	
	 $illu = $reponse->fetch();
	 ?>
	 
 <img src=<?php echo $illu['illustration']; ?> width="170" height="170" alt="la marmotte" />
 <?php
$reponse->closeCursor();
$i=$i+1;
}

0
Doctori Messages postés 3 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 19 mai 2010
19 mai 2010 à 09:07
Bonjour,
merci pour la reponse .
mais ça ne lui fait pas grand chose ... j'ai bidouillé les simple cote double cote .. ça lui fait ni chaud ni froid j'ai toujours la même erreur .

Array ( [0] => 42000 [1] => 1064 [2] => 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 'index = 25' at line 1 ) 
0
Doctori Messages postés 3 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 19 mai 2010
19 mai 2010 à 17:08
ptit UP !
ça doit pas etre bien sorcier !
0
avion-f16 Messages postés 19125 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 23 mars 2023 4 468
22 mai 2010 à 22:36
Si le champ index est un nombre (INT, TINYINT, ...), inutile de mettre des guillemets autour de $id.
0