Compter ligne requête préparée

Résolu/Fermé
joboy84 Messages postés 21 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 22 janvier 2020 - Modifié le 12 avril 2019 à 08:23
joboy84 Messages postés 21 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 22 janvier 2020 - 12 avril 2019 à 10:41
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

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
12 avril 2019 à 08:42
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';
}

0
joboy84 Messages postés 21 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 22 janvier 2020
12 avril 2019 à 10:41
Super ça marche. Merci :)
0