久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

      <legend id='cxO4k'><style id='cxO4k'><dir id='cxO4k'><q id='cxO4k'></q></dir></style></legend>

      <tfoot id='cxO4k'></tfoot>
      <i id='cxO4k'><tr id='cxO4k'><dt id='cxO4k'><q id='cxO4k'><span id='cxO4k'><b id='cxO4k'><form id='cxO4k'><ins id='cxO4k'></ins><ul id='cxO4k'></ul><sub id='cxO4k'></sub></form><legend id='cxO4k'></legend><bdo id='cxO4k'><pre id='cxO4k'><center id='cxO4k'></center></pre></bdo></b><th id='cxO4k'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='cxO4k'><tfoot id='cxO4k'></tfoot><dl id='cxO4k'><fieldset id='cxO4k'></fieldset></dl></div>

      <small id='cxO4k'></small><noframes id='cxO4k'>

        <bdo id='cxO4k'></bdo><ul id='cxO4k'></ul>

    1. PHP - 將準備好的 stmt 提取到類中:致命錯誤“找不

      PHP - fetching prepared stmt into class: Fatal Error quot;class not foundquot;(PHP - 將準備好的 stmt 提取到類中:致命錯誤“找不到類)

      <small id='8jEuz'></small><noframes id='8jEuz'>

    2. <tfoot id='8jEuz'></tfoot>
      • <bdo id='8jEuz'></bdo><ul id='8jEuz'></ul>
        <legend id='8jEuz'><style id='8jEuz'><dir id='8jEuz'><q id='8jEuz'></q></dir></style></legend>
          <tbody id='8jEuz'></tbody>
        <i id='8jEuz'><tr id='8jEuz'><dt id='8jEuz'><q id='8jEuz'><span id='8jEuz'><b id='8jEuz'><form id='8jEuz'><ins id='8jEuz'></ins><ul id='8jEuz'></ul><sub id='8jEuz'></sub></form><legend id='8jEuz'></legend><bdo id='8jEuz'><pre id='8jEuz'><center id='8jEuz'></center></pre></bdo></b><th id='8jEuz'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='8jEuz'><tfoot id='8jEuz'></tfoot><dl id='8jEuz'><fieldset id='8jEuz'></fieldset></dl></div>

                本文介紹了PHP - 將準備好的 stmt 提取到類中:致命錯誤“找不到類"的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                我想將查詢的結果提取到一個類中(到一個類的實例數組中).但我收到以下錯誤消息:致命錯誤:在...中找不到類類別"這是我的數據庫管理器類中涉及的兩個函數的代碼:

                I want to fetch the result of a query into a class (into an array of instances of a class). But I get the following error message: Fatal error: Class 'Category' not found in ... This is the code of the two functions in my database manager class that are involved:

                public function prepareStatement($_Statement)
                {
                    $this->preparedStmt = $this->pdo->prepare($_Statement);
                
                    if($this->preparedStmt === FALSE)
                        throw new PreparedStmtException ("Fehler: Statement konnte nicht prepared werden.");
                    else
                        return TRUE;
                }
                
                
                public function execute($_Params = array(), $_FetchMode = NULL, $_Class = NULL)
                {
                    # Cancel execution if no statement prepared
                    if($this->preparedStmt === null) 
                        throw new PreparedStmtException ("Fehler: Statement wurde vor execute nicht prepared.");
                
                    try
                    {
                        # Execute PDO call with params
                        $this->preparedStmt->execute($_Params);
                
                        # If no data is returned throw NoDataException
                        if($this->preparedStmt->columnCount() == 0)
                            throw new NoDataException;
                
                        // else
                        // Determine which fetch mode should be called, if NULL or something != 1 || != 0 just call
                        // fetchAll without params
                        if ($_FetchMode == 1)
                             $result = $this->preparedStmt->fetchAll(PDO::FETCH_ASSOC); 
                
                        else if ($_FetchMode == 2)
                             $result = $this->preparedStmt->fetchAll(PDO::FETCH_CLASS, $_Class); 
                
                        else 
                            $result = $this->preparedStmt->fetchAll();
                    }
                    catch (PDOException $e)
                    {
                        # Errormanagement --> Message im live Betrieb rausnehmen
                        echo '<div style="color: red;">'.$e->getMessage().'</div>';
                        $result = FALSE;
                    }
                
                    // If result is null throw Instance Exception, if result emtpy throw NoDataException
                    if ($result == null)
                        throw new InstanceException;
                    else if (empty($result))
                        throw new NoDataException;
                
                    return $result;
                }
                

                這是一個類中的測試函數來調用它們:

                This is a test function in a class to call them:

                public function test () 
                {
                    $stmt = "SELECT * FROM tx_exhibition_category WHERE uid = 1 OR uid = 2";
                    $this->mysql->prepareStatement($stmt);
                    return $this->mysql->execute (array(), 2, "Category");
                }
                

                這就是我調用測試函數的方式:

                This is how i call test function:

                $comment = CommentQuery::getInstance();
                $result = $comment->test();
                var_dump($result); // should be an array with instances of Category
                

                這是它應該被提取到的類:

                And this is the class where it should be fetched into:

                class Category {
                
                private $id;
                private $name;
                private $projectId;
                
                // getter and setter...
                }
                

                一些附加信息:

                • 我使用自動加載器來包含我的類.
                • 我使用命名空間
                • 是的,可以在所有三個函數中創建類的實例,所以
                  將包含類并使用命名空間
                • $_Mode == 1 工作正常

                有什么想法嗎?

                推薦答案

                如果您的 Category 類在命名空間中,您需要將完全限定的類名傳入 fetchAll.

                If your Category class is in a namespace, you'll need to pass in a fully qualified class name into fetchAll.

                現在,PDO 正在嘗試獲取根命名空間中的 Category 類.它不存在.你需要告訴 PDO 關于命名空間:

                Right now, PDO is trying to fetch into the class Category in the root namespace. It doesn't exist. You need to tell PDO about the namespace:

                $stm->fetchAll(PDO::FETCH_CLASS, 'Vendor\Package\Category');
                

                或者使用 __NAMESPACE__ 常量,如果這樣更容易(并且正確):

                Or use a __NAMESPACE__ constant if that makes it easier (and is correct):

                $stm->fetchAll(PDO::FETCH_CLASS, __NAMESPACE__ . '\Category');
                

                或者,更好的是,使用 PHP 5.5+ 的 ::class 常量來獲取完全限定的類名.

                Or, even better, use PHP 5.5+'s ::class constant to ge the fully qualified class name.

                use AcmePackageCategory;
                $stm->fetchAll(PDO::FETCH_CLASS, Category::class);
                

                這篇關于PHP - 將準備好的 stmt 提取到類中:致命錯誤“找不到類"的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                PHP PDO ODBC connection(PHP PDO ODBC 連接)
                Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                  <bdo id='UQ58k'></bdo><ul id='UQ58k'></ul>

                    <small id='UQ58k'></small><noframes id='UQ58k'>

                      <legend id='UQ58k'><style id='UQ58k'><dir id='UQ58k'><q id='UQ58k'></q></dir></style></legend>

                      <tfoot id='UQ58k'></tfoot>

                      1. <i id='UQ58k'><tr id='UQ58k'><dt id='UQ58k'><q id='UQ58k'><span id='UQ58k'><b id='UQ58k'><form id='UQ58k'><ins id='UQ58k'></ins><ul id='UQ58k'></ul><sub id='UQ58k'></sub></form><legend id='UQ58k'></legend><bdo id='UQ58k'><pre id='UQ58k'><center id='UQ58k'></center></pre></bdo></b><th id='UQ58k'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='UQ58k'><tfoot id='UQ58k'></tfoot><dl id='UQ58k'><fieldset id='UQ58k'></fieldset></dl></div>
                          <tbody id='UQ58k'></tbody>
                          主站蜘蛛池模板: 欧美www在线观看 | 夜夜爽99久久国产综合精品女不卡 | 国产一区二区三区在线观看免费 | 天天干夜夜操 | 亚洲人成在线播放 | 精彩视频一区二区三区 | 一级a爱片性色毛片免费 | 久久99精品国产 | 久久99精品久久久久久秒播九色 | 亚洲欧美精品国产一级在线 | 97超碰在线播放 | 欧美精三区欧美精三区 | 美人の美乳で授乳プレイ | 狠狠躁躁夜夜躁波多野结依 | 激情国产在线 | av网站在线看 | 一区二区免费看 | 国产欧美日韩在线播放 | 婷婷综合网 | 日韩欧美中文字幕在线视频 | 中文字幕亚洲精品 | 久久一区二区三区四区五区 | 精国产品一区二区三区 | 亚洲区视频 | 日韩精品一区二区三区中文在线 | 欧美极品视频在线观看 | 久久精品国产99国产精品 | 欧美日韩精品一区 | 99热.com| 天天干天天玩天天操 | 欧美亚洲国语精品一区二区 | 色综合久久久久 | 中文字幕一级 | 国产精品久久久久久久免费大片 | 国产999精品久久久久久绿帽 | 国产精品国产精品国产专区不卡 | 暖暖日本在线视频 | 中文字幕在线一区 | 成人国产精品久久 | 日韩一级欧美一级 | 天天色综网 |