[SQL] Fausse requete ?
Résolu
Utilisateur anonyme
-
Thom@s Messages postés 3412 Date d'inscription Statut Modérateur Dernière intervention -
Thom@s Messages postés 3412 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir,
Pouvez vous m'indiquer une requete sql qui permettrait de "comparer deux champs de tables différentes".
Voila celle que j'ai écrit :
$req = mysql_query("SELECT `username` FROM `session` WHERE 1");
if ($req != $pseudo) {$statut = 'Offline';}
if ($req = $pseudo) {$statut = '<strong>Online</strong>';}
"$pseudo" est le nom d'utilisateur variable
En fait le but principal serait de dire si l'utilisateur 'x' dans la table 'users' est présent dans la table 'sessions' pour savoir si il est connécté ou non.
Merci d'avance.
Bonne soirée et bonne fêtes de fin d'année.
Loster / Dorian.
Pouvez vous m'indiquer une requete sql qui permettrait de "comparer deux champs de tables différentes".
Voila celle que j'ai écrit :
$req = mysql_query("SELECT `username` FROM `session` WHERE 1");
if ($req != $pseudo) {$statut = 'Offline';}
if ($req = $pseudo) {$statut = '<strong>Online</strong>';}
"$pseudo" est le nom d'utilisateur variable
En fait le but principal serait de dire si l'utilisateur 'x' dans la table 'users' est présent dans la table 'sessions' pour savoir si il est connécté ou non.
Merci d'avance.
Bonne soirée et bonne fêtes de fin d'année.
Loster / Dorian.
A voir également:
- [SQL] Fausse requete ?
- Fausse alerte mcafee - Accueil - Piratage
- Fausse alerte connexion facebook - Guide
- Fausse alerte virus google - Guide
- Logiciel sql - Télécharger - Bases de données
- Musique fausse blonde infiltré ✓ - Forum Musique / Radio / Clip
2 réponses
Salut !
Il y a plusieurs problèmes avec ton code :
- Que veut dire WHERE 1 ??
- $req ne contient pas les données recherchées, mais seulement un pointeur. Pour avoir les données, il faut utiliser mysql_fetch_array() (cf. cours)
- Tes tests "if" sont donc incorrects.
Je pense que le plus simple, pour ce que tu veux faire, est de :
- faire une requête sur la table pseudo demandant d'afficher les tuples (="fiches", ou "lignes") dont le champ username vaut $pseudo,
- compter le nombre de résultats (s'il est strictement supérieur à zéro ou bien égal à zéro, autrement dit si la requête a retourné 1 ou 0 résultat(s))
Ca donnerait donc (code à adapter) :
Dans ce code :
- username est l'intitulé du champ qui continent les pseudos,
- session est la table qui contient les pseudos,
- $pseudo est la variable qui contient le pseudo du visiteur.
A+ :)
Il y a plusieurs problèmes avec ton code :
- Que veut dire WHERE 1 ??
- $req ne contient pas les données recherchées, mais seulement un pointeur. Pour avoir les données, il faut utiliser mysql_fetch_array() (cf. cours)
- Tes tests "if" sont donc incorrects.
Je pense que le plus simple, pour ce que tu veux faire, est de :
- faire une requête sur la table pseudo demandant d'afficher les tuples (="fiches", ou "lignes") dont le champ username vaut $pseudo,
- compter le nombre de résultats (s'il est strictement supérieur à zéro ou bien égal à zéro, autrement dit si la requête a retourné 1 ou 0 résultat(s))
Ca donnerait donc (code à adapter) :
$req = mysql_query('SELECT username FROM session WHERE username="'.$pseudo.'"'); if (mysql_num_rows($req)>0) { $statut = 'Online'; } else { $statut = 'Offline'; }
Dans ce code :
- username est l'intitulé du champ qui continent les pseudos,
- session est la table qui contient les pseudos,
- $pseudo est la variable qui contient le pseudo du visiteur.
A+ :)