Requête SQL WHERE

parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   -  
MarcuSianna Messages postés 4 Statut Membre -
Bonjour, je voudrais effectuer une requête SQL, j'en ai fait des centaines, mais je ne sais pas trop pourquoi, je n'arrive pas à faire marcher celle là !
Alors voilà ce que j'ai écrit :

$Pseudo = $_SESSION['pseudo'];
$req2=$bdd->query("SELECT * FROM table WHERE Pseudo2 = '.$Pseudo.' OR Pseudo3 = '.$Pseudo.'");



while($donneesUser3 = $req2->fetch())
{
// Bla bla bla
}



Alors je n'ai pas d'erreurs, mais rien ne s'affiche, et en regardant dans mes tables sur PhpAdmin, je vois bien qu'il devrait s'afficher quelque chose...
Voyez-vous une erreur ?
Merci d'avance !
A voir également:

3 réponses

Utilisateur anonyme
 
Bonjour,

A la place de

$req2=$bdd->query("SELECT * FROM table WHERE Pseudo2 = '.$Pseudo.' OR Pseudo3 = '.$Pseudo.'");


fais donc un

echo "SELECT * FROM table WHERE Pseudo2 = '.$Pseudo.' OR Pseudo3 = '.$Pseudo.'";
die();


Si tu ne vois pas l'erreur reviens vers nous : )

cdt
0
Gamer-Actu Messages postés 413 Statut Membre 32
 
Salut ^^,
tu as fait une toute petite erreur ;)
En fait tu entres ta variable $Pseudo directement dans la requête, or tu devrais l'entourer de guillemets, donc ça donnerais quelque chose comme ça :
$req2=$bdd->query('SELECT * FROM table WHERE Pseudo2 = \''.$Pseudo.'\' OR Pseudo3 = \''.$Pseudo.'\'');

Toutefois, c'est une mauvaise manière de faire, essaye plutôt de faire comme ça (justement pour éviter ce genre d'erreurs) :
$req2=$bdd->prepare('SELECT * FROM table WHERE Pseudo2 = ? OR Pseudo3 = ?');
$req2->execute(array($Pseudo, $Pseudo));
0
Utilisateur anonyme
 
Salut Actu

lorsque tu indiques : "essaye plutôt de faire comme ça "

'SELECT * FROM table WHERE Pseudo2 = ? OR Pseudo3 = ?'


Tu sélectionneras à chaque requête l'ensemble des enregistrements de ta table 'table', à la condition que les caractères génériques soient acceptés sans l'instruction LIKE ( a vérifier )

cdt
0
Gamer-Actu Messages postés 413 Statut Membre 32
 
Pourquoi, les méthodes prepare/execute parse d'elles même ma chaîne de caractère donc ça ne sélectionnera les entrées que si le pseudo 2 ou 3 d'un membre est égal à la variable $pseudo
0
Utilisateur anonyme
 
Autant pour moi, je n'avais point vu le "prepare" ... shame : (
0
MarcuSianna Messages postés 4 Statut Membre 1
 
ok mais que dit la partie de ton code BLABLABLA ??
0