2014-07-09 24 views
0

我試圖從MySQL在PHP中顯示的一些數據這種方式得到行的列表: CompteDAO.php如何從數據庫

<?php 
namespace DAO; 
include_once(__DIR__ . '/bdConfig.php'); 

class CompteDAO 
{ 
    public $bdd; 

    public function getList(){ 
     $this->bdd = new \DAO\bdConfig(); 
     $requete = $this->bdd->bd->prepare('SELECT * FROM compte'); 
     $requete->execute();  
     return $requete;   
    } 
} 
?> 

bdConfig.php

<?php 
namespace DAO; 

use PDO; 

class bdConfig 
{ 
    public $bd; 

    public function __construct() 
    { 
     try 
     { 
      $this->bd = new PDO('mysql:host=127.0.0.1;dbname=d', 'root', ''); 
     } 
     catch (Exception $e) 
     { 
      die('Erreur: ' . $e->getMessage()); 
     } 
    } 
} 
?> 

指數.php

$daoCompte   = new \DAO\CompteDAO(); 
$comptes   = $daoCompte->getList(); 

while ($data = $this->comptes->fetch()) { 
    echo '<td>' . $data['CIN'] . '</td>'; 
} 

但是,這樣做,我沒有得到任何結果。 (知道我的數據庫不是空的)我認爲probelm正在從getList返回值變成,但我無法找到爲什麼以及如何解決它。

我該如何解決這個問題?

+0

在index.php中,您將返回值賦給'$ comptes',但在while循環中有'$ this-> comptes'。 – andrewsi

+0

@andrewsi,我還沒有明白那是什麼問題? – user3816463

+0

'$ comptes'和'$ this-> comptes'是兩個不同的變量。你會在課堂上使用後者,你似乎沒有這樣做。 – andrewsi

回答

0

試試這個:

$daoCompte   = new \DAO\CompteDAO(); 
$comptes   = $daoCompte->getList(); 
$dataArray   = $comptes->fetchAll(PDO::FETCH_ASSOC); 

foreach ($dataArray as $data) { 
    echo '<td>' . $data['CIN'] . '</td>'; 
} 

你不使用類,你有沒有階級屬性名稱$comptes。所以$this->comptes無效。