Compter ligne requête préparée [Résolu/Fermé]

Signaler
Messages postés
21
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
22 janvier 2020
-
Messages postés
21
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
22 janvier 2020
-
Bonjour,

J'ai cette requête préparée.

Je n'arrive pas à savoir comment faire pour avoir un retour de nombre de lignes. Si des lignes sont trouvées, on affiche le while, sinon on affiche un message d'erreur.

J'ai essayé avec count et comme ci dessous mais j'ai toujours des messages d'erreur...

 
$pseudo = 'natsu';
$statut = 'en_cours';

$stmt = $bdd->prepare('SELECT * FROM shop WHERE pseudo = :pseudo AND statut = :statut');
$stmt->bindValue(':pseudo', $pseudo, PDO::PARAM_STR);
$stmt->bindValue(':statut', $statut, PDO::PARAM_STR);
$stmt->execute();


if($stmp > 0)
{
while ($data = $stmt->fetch())
{
echo $data['type'] . '<br />';
echo $data['montant'] . '<br />';
}
}
else
{
echo 'aucune données';
}


Merci

1 réponse

Messages postés
33126
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
3 635
Bonjour,

Tu peux essayer avec un fetchAll
$pseudo = 'natsu';
$statut = 'en_cours';

$stmt = $bdd->prepare('SELECT * FROM shop WHERE pseudo = :pseudo AND statut = :statut');
$stmt->bindValue(':pseudo', $pseudo, PDO::PARAM_STR);
$stmt->bindValue(':statut', $statut, PDO::PARAM_STR);
$stmt->execute();
$datas = $stmt->fetchAll();

if(!empty($datas) ) {
   foreach($datas as $data) {
      echo $data['type'] . '<br />';
      echo $data['montant'] . '<br />';
    }
} else {
  echo 'aucune données';
}

Messages postés
21
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
22 janvier 2020

Super ça marche. Merci :)