我有一个CakePHP应用程序,我有兴趣对用户尝试上传一个对MySQL数据包大小来说过大的文件做出反应。我想得到MySQL错误,然后根据它向用户提供错误消息。
看起来像CakePHP在引擎盖下使用PDO,但我不确定如何访问它。我宁愿借用CakePHP的PDO连接,这样我就不必用用户名,密码等创建一个新的PDO连接(同样我也不必担心来自同一个DB的多个连接的问题)等等。)
看起来CakePHP中有一个PDO类(http://api.cakephp.org/2.2/class-PDO.html),但我不确定如何实际调用它来调用errorCode()方法。
答案 0 :(得分:3)
This是您可能需要的方法。在保存操作后的控制器中,您可以使用$this->SomeModel->getDataSource()->lastError()
来获取错误。
答案 1 :(得分:1)
或....看看这个:
if( is_a( $this->SomeModel->getDataSource(), "DboSource") ) {
$myPDO = $this->SomeModel->getDataSource()->getConnection();
debug($myPDO.errorCode()); // or whatever...
}
无论如何,非常感谢你对此的帮助 - 文档中只有几个啤酒花让我自己找到它。
(我在这里张贴此内容而不是评论你的答案,以便它能更好地突出)