Simple resquette sql avec un variable.

Doctori Messages postés 5 Statut Membre -  
avion-f16 Messages postés 19182 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

3 réponses

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