使用 Mysqli 的 Zend 框架中的绑定变量名称无效

Niz*_*zam 1 mysqli zend-framework

我正在使用 Zend Framework 和 PDO_MYSQL Adapter 开发一个应用程序。

但是我的客户端服务器不支持 PDO_MYSQL

我将适配器更改为 Mysqli,但出现此错误:

无效的绑定变量名称

如何解决?

St.*_*and 5

不幸的是,MySQLi 实际上并不支持命名参数,但尽管在此代码块中抛出了异常消息,但对此消息并不十分清楚:

if ($this->_adapter->supportsParameters('named') === false) {
    /**
     * @see Zend_Db_Statement_Exception
     */
    require_once 'Zend/Db/Statement/Exception.php';
    throw new Zend_Db_Statement_Exception("Invalid bind-variable name '$val'");
}
Run Code Online (Sandbox Code Playgroud)

异常应该说:

您正在尝试将命名参数与不支持它们的适配器一起使用

解决方案很简单,只需将您的适配器从 Mysqli 切换到 Pdo_Mysql。

参考