hxmupdata 2012-08-08 17:50:26 3645次浏览 5条回复 0 0 0

使用如下代码 Yii :: app()->db->createCommand($sql)->queryColumn(); 为什么sql写错,就会抛出异常,我debugger发现是CDbCommand.php中 $this->_statement->execute(); 抛出的异常。 $this->_statement 是一个PDOStatement

查看手册,PDOStatement的execute并不会抛异常。 我写了测试例子,直接使用PDOStatement,证明确实不抛异常。

为什么自己写的PDOStatement不抛异常,但是使用yii的就抛异常,求教!!!!

  • 回复于 2012-08-09 00:12 举报

    你写错了sql当然会抛出异常。yii用的 $this->_statement 就是PDOStatement类型的。yii应该开启display error了。还有就是你的php环境开启display error了吗?

  • 回复于 2012-08-09 08:57 举报

    怎么会当然,手册上写的很清楚,没有异常。 而且我自己写测试代码,测试过了。
    这和display_error有什么关系呢?异常与错误是两回事啊。
    display_error一直是关着的。。

  • 回复于 2012-08-09 09:17 举报

    display_error打开再试试

  • 回复于 2012-09-09 16:40 举报

    异常是pdo::prepare抛出的

  • 回复于 2012-09-10 12:11 举报

    顶楼上,正解

您需要登录后才可以回复。登录 | 立即注册