Problème avec mon WHERE de ma requete pdo

Résolu
Aaymeric Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
Aaymeric Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je fais une requête PDO et lorsque je trie ma recherche avec le WHERE ma recherche ne donne rien mais sans le WHERE ca fonctionne bien.

Mon code est le suivant:
$req = $bdd->prepare('SELECT * FROM objet WHERE delete = yes ORDER BY date DESC');
				$req->execute(array());


Dois-je mettre des double quotes à mon yes ? J'ai déjà essayé et sans effet.

Merci pour votre aide
A voir également:

4 réponses

NHenry Messages postés 15221 Date d'inscription   Statut Modérateur Dernière intervention   366
 
"delete = yes"
Tu es sûr du yes ?
c'est pas true ou 1 ?
0
Aaymeric Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
Au début oui mais j'ai changer le type de valeur et donc la réponse mais meme ca ca ne fonctionnait pas ...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Bonjour,

Commence par tester ta requête en direct dans ta BDD et regarde ce que ça donne

et oui... tu dois utiliser des quotes autour des valeurs de type "text/varchar..."

prends aussi l'habitude de "sortir" la requête de son execution
et ne mets pas d'array vide.... si tu n'as pas de paramètres à passer à ta requête.

$sql = "SELECT * FROM objet 
            WHERE delete = 'yes'
            ORDER BY date DESC";
$req = $bdd->prepare($sql);
$req->execute();

0
Aaymeric Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai fait ce que tu as dit et rien ne change. Le champ "delete" existe bien dans ma BDD et c'est bien un varchar (j'ai mis les quotes). C'est curieux, avec mes autres requêtes avec un trie tout fonctionne.

Enfaite j'ai une double requête avec des noms différent, est-il possible que ca soit ca qui pose problème ?

Mon code:
$req = $bdd->prepare("SELECT * FROM objet WHERE delete = 'yes' ORDER BY date DESC");
    $req->execute();
    while ($donnees = $req->fetch()){
     $description = $donnees['description'];
     if(strlen($description) >= 50){
      $description = substr($description, 0, 50).'...';
     }
     $req2 = $bdd->prepare('SELECT * FROM membres WHERE pseudo = ?');
     $req2->execute(array($donnees['pseudo']));
     while ($info = $req2->fetch()){
      echo' 
      <table>
      <tr>
           ...
           ...
           ...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
As tu testé la requête en direct dans ta BDD ???
sachant que delete edt un mot clé utilisé par mysql...
renomme ton champ autrement. ..
0
Aaymeric Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
Décidément tu as encore réussis à résoudre mon problème. Un grand merci Jordane45 :)
0