ZEND_FRAMEWORK使用问题及解决(一)

在使用Zend Framework搭建站点时,遇到数据库连接异常及编码冲突问题。通过检查配置文件,发现是适配器配置中关于编码设置与初始化冲突导致。最终调整配置解决了问题。

最近在用zend_framework搭建一个站点时,遇到数据库连接及编码问题,由于只是储备的匮乏,导致很长的工作才找到简单的原因。

所遇到的问题为:

                              在查询完数据之后,前台总是抛出关于数据库的异常,如下:

                              Notice: Array to string conversion inD:\WWW\include\Zend\Db\Adapter\Pdo\Abstract.php on line 75

                             但是zf并未给出具体的提示,进入zf发现Abstract.php的75行是在连接数据库。

                      由于我是把数据库配置在配置文件application.ini中,所以在代码中直接获得适配器,代码如下:

                            public function test ()
       {
$db=$this->getAdapter() ;
var_dump($db);
$select=$db->select(); 
 
try {
$select ->from ('test','*');
$select->where('log_id = 1' );
}
catch (Exception $e)
{
 
echo $e;
}
 
  $result = $db->fetchAll($select);
 
     }

               而且也捕捉不到异常

              后来测试其他连接方式:

               $params = array('host'=>'localhost','username'=>'root','password'=>'root','dbname'=>'shadow');
      $db = Zend_Db::factory('PDO_Mysql',$params);
      var_dump($this);
      $select = $db->select();

                工作正常。

                确定为适配器的配置问题,检查配置文件发现为此句

                 resources.db.params.driver_option.1002 ="SET NAMES UTF8;"

              主要是用来解决编码问题的,但是不知为什么会与适配器初始化冲突....

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值