1

我有一个 CakePHP 应用程序,我有兴趣对用户尝试上传对于 MySQL 数据包大小而言太大的文件做出反应。我想获取 MySQL 错误,然后基于此向用户提供错误消息。

看起来 CakePHP 在后台使用 PDO,但我不确定如何访问它。我宁愿借用 CakePHP 的 PDO 连接,这样我就不必使用用户名、密码等创建新的 PDO 连接(也不必担心多个连接到同一个数据库的问题, ETC)。

看起来 CakePHP 中有一个 PDO 类(http://api.cakephp.org/2.2/class-PDO.html),但我不确定如何实际访问它以调用 errorCode() 方法.

4

2 回答 2

3

是您可能需要的方法。在您的控制器中保存操作后,您可以使用它$this->SomeModel->getDataSource()->lastError()来获取错误。

于 2013-05-12T17:37:17.233 回答
1

或者....看看这个:

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

无论如何,非常感谢您对此提供的帮助 - 文档中的跳跃太多了,我无法自己找到它。

(我在此处发布此内容,而不是作为对您答案的评论,以便更好地脱颖而出)

于 2013-05-13T22:50:41.440 回答