【问题标题】:zend_db query on connect连接时的 zend_db 查询
【发布时间】:2009-10-23 16:52:17
【问题描述】:

我希望查询“SET NAMES utf8”在任何其他查询之前执行。

但是,如果我在应用程序的开头执行它,它会强制 Zend_Db 连接到数据库,即使我没有运行任何其他查询。这并不酷:我的应用处理大量请求而没有任何查询,只使用缓存。

如何让 Zend_Db 在连接后立即运行 'SET NAMES utf8'?

【问题讨论】:

    标签: zend-framework zend-db


    【解决方案1】:

    当然,只需将 'charset' 选项与适配器参数一起传递。您可以通过 Zend_Config 或在代码中执行此操作:

    $params = array(
        'host'           => '127.0.0.1',
        'username'       => 'webuser',
        'password'       => 'xxxxxxxx',
        'dbname'         => 'test',
        'charset'        => 'utf8'
    );
    
    $db = Zend_Db::factory('Pdo_Mysql', $params);
    

    参考:http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.connecting.parameters

    【讨论】:

    • Np - 手册中没有明确介绍,但肯定是一个常见的要求!关于 SO 的更多问题将使每个人都更容易:)
    【解决方案2】:

    检查此链接以获取配置选项,它更容易 How to make PDO run SET NAMES utf8 each time I connect, In ZendFramework.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      相关资源
      最近更新 更多