Partage
  • Partager sur Facebook
  • Partager sur Twitter

Inserer une variable php dans une requete SQL

Sujet résolu
27 avril 2010 à 16:15:37

Bonjour à tous, :)

Donc comme l'indique le titre j'ai un problème sur une requête SQL avec du php à l'interieur :

$questionfac = $_GET['questionfac'];
$var  = $maBD->query('SELECT Reponse FROM FAC WHERE Question='."$questionfac");
$ligne = $var->fetch();

Problème : dans la deuxième ligne "Question" est censée recevoir une chaine de caractère(une question) et renvoyer une réponse ("Reponse").
Mais je n'arrive pas a affecter à "Question" la chaine de caractère $questionfac, pourtant si je fais un :
echo "$questionfac";
j'ai la chaine de caractère qui s'affiche correctement, et si je fais
$var  = $maBD->query('SELECT Reponse FROM FAC WHERE Question="Quelle heure est-il?"');
(en sachant que "Quelle heure est-il?" est une chaine de caractère de ma base de données), le résultat s'affiche correctement lui aussi.

Donc voila je me demandais quelle était la syntaxe pour intégrer une variable php à une chaine SQL.
Est-ce un problème de typage de la variable, qui n'est pas interprétée comme étant une chaîne de caractère?

Je vous remercie par avance de vos réponses (nombreuses je l'espère :p )et espère avoir été clair.
Cordialement.
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2010 à 16:19:41

$questionfac = $_GET['questionfac'];
$var  = $maBD->query('SELECT Reponse FROM FAC WHERE Question="'.$questionfac.'"');
$ligne = $var->fetch();


Je pense que ça ira mieux, pourquoi met-tu des "" autour de ta variable ?
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2010 à 16:28:33

Bon merci beaucoup ^^
C'était bien la le problème :D

Bonne journée encore merci
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2010 à 16:30:45

En fait il faut bien penser à inclure les "" dans ta requête et pas autour de ta variable.
Les "" font partie du texte de la requête.

De rien, sinon ^^
  • Partager sur Facebook
  • Partager sur Twitter