Mysql 在CakePHP中访问PDO::errorCode?

Mysql 在CakePHP中访问PDO::errorCode?,mysql,cakephp,pdo,Mysql,Cakephp,Pdo,我有一个CakePHP应用程序,我感兴趣的是对用户试图上传一个对于MySQL数据包大小来说太大的文件做出反应。我希望得到MySQL错误,然后根据该错误向用户提供一条错误消息 看起来CakePHP在幕后使用PDO,但我不确定如何访问它。我宁愿借用CakePHP的PDO连接,这样我就不必创建一个新的PDO连接,包括用户名、密码等,也不必担心同一数据库的多个连接等问题 CakePHP中似乎有一个PDO类,但我不确定如何实际访问它以调用errorCode方法。是您可能需要的方法。保存操作完成后,您可以在

我有一个CakePHP应用程序,我感兴趣的是对用户试图上传一个对于MySQL数据包大小来说太大的文件做出反应。我希望得到MySQL错误,然后根据该错误向用户提供一条错误消息

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

CakePHP中似乎有一个PDO类,但我不确定如何实际访问它以调用errorCode方法。

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

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

或。。。。看看这个:

if( is_a( $this->SomeModel->getDataSource(), "DboSource") ) {
    $myPDO = $this->SomeModel->getDataSource()->getConnection();
    debug($myPDO.errorCode()); // or whatever...
}
无论如何,非常感谢你在这方面的帮助——文档中的跳数太多了,我自己找不到

我把这篇文章贴在这里,而不是作为对你答案的评论,这样它会更加突出。。。。看看这个:

if( is_a( $this->SomeModel->getDataSource(), "DboSource") ) {
    $myPDO = $this->SomeModel->getDataSource()->getConnection();
    debug($myPDO.errorCode()); // or whatever...
}
无论如何,非常感谢你在这方面的帮助——文档中的跳数太多了,我自己找不到


我将此贴在这里,而不是作为您答案的注释,这样它会更突出

Yes,@ADmad this获取数据源对象并检索发生的最后一个错误。这是Cake中最短的方法,但您也可以在感兴趣的模型中实现自定义保存。是的,@ADmad This获取数据源对象并检索上次发生的错误。这是Cake中最短的方法,但您也可以在感兴趣的模型中实现自定义保存。对于任何愿意发表评论的人来说,这是一个“元”问题:我应该将ADmad的答案标记为正确还是此答案?如果没有ADmad的帮助,我是不会找到这个的,但这实际上回答了我发布的问题。任何建议都将不胜感激!对于任何想发表评论的人来说,这是一个“元”问题:我应该将ADmad的答案标记为正确还是这一个?如果没有ADmad的帮助,我是不会找到这个的,但这实际上回答了我发布的问题。任何建议都将不胜感激!