簡體   English   中英

我的PDO結果無法顯示

[英]My PDO result doesn't work for displaying

我測試一個短裙。 我是php的新手。 我在news.php中有一個實體,一個管理器和一個用於顯示結果的頁面。 我用PDO執行查詢。 我有結果,但無法顯示。

實體是這樣的:

class News {

     private $_id;
     private $_titre;
     private $_contenu;

     public function id()
     {
         return $this->_id;
     }


     public function titre()
     {
         return $this->_titre;
     }


     public function contenu()
     {
         return $this->_contenu;
     }



     public function setId($id)
     {
         if(!is_int($id))
             throw new Exception('L\'id n\'es pas de type int');

         $this->_id = $id;
     }


     public function setTitre($titre)
     {
         if(!is_string($titre))
             throw new Exception('Le titre n\'es pas de type string');

             $this->_titre = $titre;
     }


     public function setContenu($contenu)
     {
         if(!is_string($contenu))
             throw new Exception('Le contenu n\'es pas de type string');

          $this->_contenu = $contenu;
     }


 }

我的新聞經理:

class newsManager
 {
   private $_db;
 const SELECT_5LAST_NEWS  = 'SELECT * FROM news ORDER BY id DESC LIMIT 0,5';

 public function select5News()
     {
         $query =  $this->_db->query(self::SELECT_5LAST_NEWS);
         $query->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'News');
         return $query->fetchAll(PDO::FETCH_CLASS, 'News');;
     }

 }

然后我測試我的看法:

require 'classes/newsManager.php';

$newsmngr = new newsManager(); $req = $newsmngr->select5News();

foreach ($req as $u) {
   print_r($u); }

那就是:

News Object ( [_id:News:private] => [_titre:News:private] =>
[_auteur:News:private] => [_contenu:News:private] =>
[_dateAjout:News:private] => [_dateModif:News:private] => [id] => 3
[auteur] => howsDoingThis [titre] => where i am.... [contenu] => Lorem
ipsum dolor sit amet,(...)

我的結果已滿,但是當我嘗試顯示該代碼時,什么也沒有發生:

foreach($req  as $news)
 {
     echo '<section><p class="titre"><a href="administration.php?id='.$news-id().'">'.$news->titre().'</a></p>';
     echo '<p class="description">'.$news->contenu().'</p></section>';
 }

任何人都可以幫助我。 謝謝

id和contenu是私有變量,您不能直接訪問它們。 您必須使用News類中定義的一些公共獲取方法

public function getId(){
    return $this->_id;
}

然后,您可以通過類似於$news->getId();的getter方法獲取數據$news->getId();

希望有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM