Affichage des données

karamel
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 16:55

Bonjour,normalement,si on met un script de ce genre,il doit fonctionner :
<?php
$base = mysql_connect ('leserveur', 'lelogin', 'unpasse'); 
mysql_select_db ('nomdelabase', $base) ; 
$sql = 'SELECT nom FROM membres WHERE id = "$id"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result ($req);
mysql_close ();
?>
Et là ou je veut afficher le résultat :
<? echo $data['nom']; ?>
Mais là,j'ai absolument rien ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 déc. 2006, 17:10

Ah ceci prêt que, entre des apostrophes les variables ne sont pas interprétées, alors qu'elles le sont entre des guillemets.
$var = 123;
echo " $var "; // affiche '123'
echo ' $var '; // affiche '$var'
Le mieux étant de toujours sortir ses variables des chaines en les concatenant :)

Par ailleurs en SQL, tu n'as pas besoin de mettre d'apostrophes autour d'un nombre. Tu peux donc écrire ta requête ainsi :
$sql = "SELECT nom FROM membres WHERE id = " . $id; 
Il peut être utile également de préciser l'origine de la variable $id si elle n'est pas déclarée précédemment dans ton code ($_GET['id'], $_POST['id'], ...)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...