2013-05-12 52 views
1

我有一個CakePHP應用程序,我對用戶試圖上傳一個對MySQL數據包大小來說太大的文件感興趣。我想獲取MySQL錯誤,然後根據該錯誤消息向用戶提供。在CakePHP中訪問PDO :: errorCode?

它看起來像CakePHP在引擎蓋下使用PDO,但我不知道如何訪問它。我寧願借用CakePHP的PDO連接,這樣我就不必創建一個新的PDO連接(包括用戶名,密碼等等)(也就是說,我不必擔心多個連接到相同數據庫的問題等)。

它看起來像CakePHP中的PDO類(http://api.cakephp.org/2.2/class-PDO.html),但我不確定如何實際調用errorCode()方法。

回答

3

This是您可能需要的方法。在保存操作後,在控制器中,您可以使用$this->SomeModel->getDataSource()->lastError()來獲取錯誤。

+0

是的,這@ADmad獲得DataSource對象,並檢索發生的最後一個錯誤。這是Cake中最簡單的方法,但您也可以在您感興趣的模型中實現自定義保存。 – 2013-05-13 08:34:05

1

或者....檢查了這一點:

if(is_a($this->SomeModel->getDataSource(), "DboSource")) { 
    $myPDO = $this->SomeModel->getDataSource()->getConnection(); 
    debug($myPDO.errorCode()); // or whatever... 
} 

不管怎麼說,由於一噸的幫助與本 - 那裏的文檔中只是一對夫婦的太多跳給我找這對我自己。

(我在這裏,而不是爲你的答案評論張貼這使得它可以更準確地站出來)

+0

對於任何關注評論的人來說,作爲一個「元」問題:我應該將ADmad的答案標記爲正確還是這個?沒有ADMA的幫助,我不會找到這個,但這實際上回答了我發佈的問題。任何意見,將不勝感激! – MikeTheTall 2013-05-13 22:51:45