2012-12-12 3 views
1

J'essaie de faire une requête PDO pour afficher des données. C'est ce que je l'ai fait jusqu'à présent:Résultats d'une requête PDO ne pas afficher

dans mes modèles/DOP, j'ai créé une classe avec ceci:

<?php 

class VengeanceUsers { 

    public static function getNumbersOfregistered() 
    { 
     $connexion = new PDO("mysql:host=localhost ;dbname=databasetest", 'root', 'passe'); // connexion à la BDD 

     $var_dump($connexion); 
     exit(); 
     $resultats=$connexion->query("SELECT COUNT (*) FROM ope_tartine_nl "); // on va chercher tous les membres de la table qu'on trie par ordre croissant 
     return $resultats; 
    } 

} 

?> 

Dans mon contrôleur:

$this->view->nb_users = VengeanceUsers::getNumbersOfregistered(); 

Dans mon vue:

Nombre d'inscrits : <?php echo $this->nb_users; ?><br/> 

Je n'ai rien affiché ... Quelqu'un peut-il m'aider à ce sujet? Merci à l'avance

Répondre

1
  1. Vous avez oublié de commenter exit(); out.
  2. Dans $var_dump($connexion); vous devez supprimer $ au début.
  3. Vous devez extraire les résultats de l'instruction.

Pour # 3, vous pouvez utiliser:

$sth = $connexion->query("SELECT COUNT (*) FROM ope_tartine_nl "); // get statement 
$resultats = $sth->fetchColumn(); // get data 
return $resultats; 
+0

En fait j'ai une erreur Erreur fatale: Classe 'VengeanceUsers' pas trouvé dans D: \\ softs \\ UwAmp \\ www \\ cdis-vengeance \\ dev \\ applications \\ vengeance \\ contrôleurs \\ AdminController.php sur la ligne 48 Comment puis-je résoudre ce problème s'il vous plaît? PS: merci pour vos premiers conseils – Slrg

+0

Vous avez oublié d'inclure le fichier avec votre définition 'VengeanceUsers'. – Ranty

+0

il a essayé de mettre ceci: include_once (VengeanceUsers.php); En haut de mon contrôleur, juste avant que "class AdminController étend Zend_Controller_Action" mais cela ne fonctionne pas – Slrg

2
$resultats=$connexion->query("SELECT COUNT (*) FROM ope_tartine_nl "); // on va chercher tous les membres de la table qu'on trie par ordre croissant 

Cela ne vous donne l'objet de résultat de la requête.

Vous devez réellement récupérer la ligne à partir de votre résultat.

$resultats=$connexion->query("SELECT COUNT (*) FROM ope_tartine_nl "); // on va chercher tous les membres de la table qu'on trie par ordre croissant 
    $numRows = $resultats->fetchColumn(); 
    return $numRows; 

Cela devrait corriger

+0

En fait, j'ai une erreur fatale erreur: not found de les VengeanceUsers 'Classe D: \\ \\ Softs UwAmp \\ www \\ vengeance CDIs \\ dev \\ applications \\ vengeance \\ contrôleurs \\ AdminCo ntroller.php en ligne 48 Comment puis-je résoudre ce problème s'il vous plaît? PS: merci pour vos premiers conseils – Slrg

+0

Vous n'avez pas inclus le fichier où vous avez défini la "classe VengeanceUsers". Incluez-le et vous devriez être bien – ashiina

+0

il a essayé de mettre ceci: include_once (VengeanceUsers.php); En haut de mon contrôleur, juste avant que "classe AdminController étend Zend_Controller_Action" mais cela ne fonctionne pas – Slrg

Questions connexes