PHP/MySQL utiliser variable dans requete SQL

le coin-coin Messages postés 75 Statut Membre -  
avion-f16 Messages postés 20367 Statut Contributeur -
Bonjour à Tous,


Je souhaiterai utiliser une varible ($id) dans une requête SQL mais je ne sais pas quelle syntaxe utiliser.

Je suppose que c'est quelquechose comme:

$query = mysql_query("SELECT nom FROM fichier WHERE idfichier ='.$id.'",$cnx);

Mais cela ne fonctionne pas...

Merci de votre aide!
A voir également:

5 réponses

Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
tu as essayé d'enlever les points ? donc '$id'
0
jojodivx Messages postés 202 Statut Membre 16
 
Ta requête est fausse.

C'est quoi cnx ?
0
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Bonjour,

Requête valide : $query = mysql_query('SELECT nom FROM fichier WHERE idfichier = "' . $id . '", "' . $cnx . '"');

Moi aussi au début j'ai galéré avec les variable dans les requête :p

Quelques conseil :
 - Mets toujours tes chaines entre apostrophes ( ' ) et pas des guillemés ( " )
 - Pour insérer une variable, ouvre les guillement puis ferme l'apostrophe ensuite tu mets un point puis la variable puis un point et tu réouvre l'apostrophe et tu fini par fermé les guillemés.
 - Mets ta requête SQL en déhors de mysql_query().

Exemple :

$sql = 'SELECT * FROM membres WHERE pseudo = "'.$pseudo.'"';
$req = mysql_query($sql) or die ('Erreur dans '.$sql.'<br/>'.mysql_error());

if($req == true)
{
  echo '<p>Cool, ça marche :p</p>';
}
else
{
  echo '<p>Erreur lors de l\'excécution de la requête SQL ! <br/></p>';
}

0
974_Vin's_974 Messages postés 554 Statut Membre 102
 
Pas besoin des points ... :

$sql = "SELECT nom FROM fichier WHERE idfichier ='$id'"
$req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error());
$data = mysql_fetch_assoc($req);
$nom = $data['nom'];

Voila, et plus qu'un ptit "echo" pour vérifier ;)

^^ ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Non entre guillemés pas besoin des points parce que
$pseudo = "avion-f16";
echo "Bienvenue $pseudo";

affichera Bienvenue avion-f16 tandis que
$pseudo = "avion-f16";
echo 'Bienvenue $pseudo';

affichera Bienvenue $pseudo

Voici un lien qui te fera comprendre l'utilité d'utilisé des apostrophes pour la concaténation (quel mot ! hein ? lol) : La concaténation sur le Site du Zér0.
0