Zend Framework错误:参数号无效:没有参数绑定'

roa*_*oul 0 php mysql zend-framework

我正在使用Zend Frameworker 1.12.

根据帮助文件,我使用Zend_Db_Statement来执行我的sql.

下面是我的PHP代码:

 $sql = "delete from options where id=?";
 $stmt = new Zend_Db_Statement_Mysqli($this->getAdapter(), $sql);
 return $stmt->execute(array('1'));
Run Code Online (Sandbox Code Playgroud)

但错误是异常'PDOException',消息'SQLSTATE [HY093]:参数号无效:D:\ Zend\workspaces\DefaultWorkspace.metadata.plugins\org.zend.php.framework.resource\resources中没有绑定任何参数\ ZendFramework-1\library\Zend\Db\Statement\Mysqli.php:209堆栈跟踪:

......... .........

我用谷歌搜索了几天,但没有任何作用.

谁知道怎么修它?

Tom*_*ers 5

代码使用类,Zend_Db_Statement_Mysqli但您的连接不是'mysqli'连接.它是一个Pdo_Mysql连接.这会导致代码失败.您可以通过更换修复你的代码Zend_Db_Statement_MysqliZend_Db_Statement_Pdo.但是,更好的解决方案如下:

$sql = "delete from options where id=?";
$this->getAdapter()->query($sql, array('1'));
Run Code Online (Sandbox Code Playgroud)

这应该自动使用正确的类(无论数据库连接的类型如何),并在内部处理不同的步骤.