php - Zend 框架错误 :Invalid parameter number: no parameters were bound'

标签 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'));

但在 D:\Zend\workspaces\DefaultWorkspace.metadata.plugins\org.zend.php.framework 中,错误是异常“PDOException”,消息为“SQLSTATE[HY093]:无效参数编号:未绑定(bind)任何参数”。资源\资源\ZendFramework-1\库\Zend\Db\Statement\Mysqli.php:209 堆栈跟踪:

………… …………

我用谷歌搜索了几天,但没有任何结果。

有人知道怎么解决吗?

最佳答案

该代码使用类 Zend_Db_Statement_Mysqli 但您的连接不是“mysqli”连接。它是一个 Pdo_Mysql 连接。这会导致代码失败。您可以通过将 Zend_Db_Statement_Mysqli 替换为 Zend_Db_Statement_Pdo 来修复您的代码。但是,更好的解决方案如下:

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

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

关于php - Zend 框架错误 :Invalid parameter number: no parameters were bound',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19608639/

相关文章:

mysql - Mac OSX 上的 Xampp 管理器,最近 mysql 服务器停止启动

php - 如何在使用 Zend_File_Transfer_Adapter_Http() 上传时调整图像大小;

php - ZF-如何访问子表单元素并设置其值

php - 不同产品的不同地址

php - 为什么我无法访问我的数据库?

php - 如何在创建主 ID 之前或同时获取它?

php - ini文件中的变量php

PHP 多个带有分隔表的下拉框

mysql - 连接和输出 - 使用 SELECT DISTINCT

php - 调用未定义函数 testinput() 第 48 行