致命错误:找不到类'RccgPraiseCentre \ User \ PDO'

时间:2017-10-26 02:14:52

标签: php mysql pdo

想要从我的数据库中的表中检索信息,基于提供给函数的参数以及字段名称及其给出此错误“致命错误:Class'RccgPraiseCentre \ User \ 22 C:\ xampp \ htdocs \ RCCG \ app \ RccgPraiseCentre \ User \ HomeMenu.php 中找不到PDO “ 这是类中的函数。 HomeMenu.php文件

            <?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行是这段代码$ result = $ query-&gt; fetch(PDO :: FETCH_ASSOC);

这是我调用函数的页面

    <?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”是我的表中的字段名称,我试图从字段中获取信息...我想从表中获取信息,使用类似于echo $ object-&gt; bannerSlider('1')[ 'HEADER_TITLE']; ,echo $ object-&gt; bannerSlider('1')['header_body']; ,echo $ object-&gt; 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 个答案:

答案 0 :(得分:1)

因为您已在命名空间中定义了文件,所以需要导入带有use的类或带有\的前缀,以指示您需要来自根命名空间而不是当前命名空间的类。 / p>

问题是这个常数:PDO::FETCH_ASSOC可以通过\PDO::FETCH_ASSOC解决,也可以通过在命名空间声明下添加use PDO;来解决。