2017-10-26 27 views
0

データベースにあるテーブルから情報を取得したい場合は、関数名とフィールド名に与えられた引数に基づいて、このエラーを返します。 "致命的なエラー:クラスのRccgPraiseCentre \ユーザーは\ PDO "Cで見つかりません:\ xamppの\ htdocsに\ RCCG \アプリ\ RccgPraiseCentre \ユーザー\ HomeMenu.phpライン上
「ここ は、クラス内の関数であります。 HomeMenu.php致命的なエラー:クラス 'RccgPraiseCentre User PDO'が見つかりません

  <?php 
      namespace RccgPraiseCentre\User; 


      class HomeMenu{ 
       public $errorArray = array(); 

       private $db; 

       function __construct($db) 
       { 
        $this -> db = $db; 
       } 



      //display all slider base on id 
      public function bannerSlider($id){ 
       $query = $this->db->prepare("SELECT * FROM slider_tbl WHERE id = ? LIMIT 1"); 
       $query->execute(array($id)); 
       if($query->rowCount()>0){ 
       $result = $query->fetch(PDO::FETCH_ASSOC); 
       return $result; 
       }else{ 
        echo '<h2 style="color:white;">RCCG Praise Centre Area Headquater</h2>'; 
       }} 

ライン22は、コード$結果= $ query->フェッチ(PDO :: FETCH_ASSOC)のこの作品でファイル。ここで

iは

<?php 
    include_once"includeFiles/dbconfig.php"; 

    require_once __DIR__.'/../vendor/autoload.php'; 
    use RccgPraiseCentre\User\HomeMenu as HomeMenu; 


    $object = new HomeMenu($db); 
    echo $object->bannerSlider('1')['header_title']; 

    ?> 

に関数を呼び出しています「header_titleは」私のテーブルのフィールド名、フィールドから情報を取得しようとしていますページです...私は情報を取得したいですこのようなものを使ってテーブルから$ object-> bannerSlider( '1')['header_title']; 、echo $ object-> bannerSlider( '1')['header_body']; 、echo $ object-> bannerSlider( '1')['header_link'];私はこの問題を解決するためにあなたの努力を感謝します。

<?php 

    $DB_host = "localhost"; 
    $DB_user = "root"; 
    $DB_pass = ""; 
    $DB_name = "rccgpraisecentre"; 

    try 
    { 
     $db = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass); 
     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    } 
    catch(PDOException $e) 
    { 
     echo $e->getMessage(); 
    } 

答えて

1

ネームスペースでファイルを定義しているので、あなたが代わりに現在の名前空間のルート名前空間からクラスをしたい示すために\useまたはプレフィックスのいずれかのインポートクラスに必要です。

問題はこの定数です:PDO::FETCH_ASSOCこれは\PDO::FETCH_ASSOCで解決されるか、名前空間宣言の下にuse PDO;が追加されて解決されます。

関連する問題