Simple resquette sql avec un variable.

Doctori Messages postés 5 Statut Membre -  
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

3 réponses

bissdebrazza Messages postés 2886 Statut Contributeur 712
 
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 5 Statut Membre
 
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 5 Statut Membre
 
ptit UP !
ça doit pas etre bien sorcier !
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
Si le champ index est un nombre (INT, TINYINT, ...), inutile de mettre des guillemets autour de $id.
0