Page 1 sur 1

[Résolu] PHP - blocage sur Select * Where *

Posté : 07 oct. 2011, 15:46
par Kathy
Bonjour,

Je suis en train de faire un formulaire dans lequel j'aimerais intégrer les infos de l'utilisateur enregistré.
J'utilise le code suivant mais j'ai un soucis que je suppose venir de la ligne de code:
$sql = 'SELECT lastname,firstname,cb_telephone FROM jom16_comprofiler WHERE user_id = "$idform"';
<?php
$db = mysql_connect('*******', '*******', '*******'); 
mysql_select_db('*******',$db);

$user =& JFactory::getUser();
$idform = $user->id;
$sql = 'SELECT lastname,firstname,cb_telephone FROM jom16_comprofiler [color=#FF0000]WHERE user_id = "$idform"[/color]'; 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
$data = mysql_fetch_assoc($req);
 
if (!$user->guest) {

  echo 'Vs êtes connecté(e) en tant que ';
  echo '<b>' .$user->username . '</b><br/>';
  echo ' Nom: '.$data['lastname'].'<br>'; 
  echo ' Prénom: '.$data['firstname'].'<br>'; 
  echo ' Téléphone: '.$data['cb_telephone'].'<br>'; 
  echo ' Email: '.$user->email. '<br/>';
  echo 'n° utilisateur : ' . $user->id. '<br>';

  mysql_close();
}
?>
Comme résultat, j'obtiens:

Vs êtes connecté(e) en tant que username OK
Nom: champs vide ??
Prénom: champs vide ??
Téléphone: champs vide ??
Email: email OK
n° utilisateur : n° OK

Il n'arrive donc apparemment pas à interpréter la variable $idform car lorsque je remplace celle-ci par un numéro id, il me donne toutes les infos demandées.

Je vous remercie d'avance pour toute l'aide que l'on pourrait m'apporter!

Re: PHP - blocage sur Select * Where *

Posté : 07 oct. 2011, 15:59
par xTG
Simple quote = aucune interprétation des variables
Double quote = interprétation des variables
^^
$test = "ok";
echo 'Test = $test'; // Test = $test
echo "Test = $test"; // Test = ok

Re: PHP - blocage sur Select * Where *

Posté : 07 oct. 2011, 16:15
par Kathy
Merci pour cette réponse rapide xTG!

Par contre, je ne vois pas où cela pourrait causer problème dans mon code, le simple quote ou double.
C'est p-ê à force d'avoir le nez dedans depuis des heures que je ne le vois pas :? :)

Re: PHP - blocage sur Select * Where *

Posté : 07 oct. 2011, 16:21
par xTG
$idform est une variable, une variable que tu utilises au sein de simple quote. La variable n'est donc pas interprétée, ce n'est qu'une chaîne de caractère. ;)

Ta requête doit donc être enserrée entre DOUBLE quote, et pour garder le côté correct pour le sgbd tu dois enserrer la variable entre simple quote (on n'utilise d'ailleurs jamais de double quote pour des strings dans une requête sql à ce qu'il me semble).

Re: PHP - blocage sur Select * Where *

Posté : 07 oct. 2011, 16:34
par Kathy
Merci pour les explications!
Effectivement, ça change tout! Le code fonctionne correctement maintenant! :) Un tout grand merci pour cette aide précieuse et si rapide!