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堆栈跟踪:
......... .........
我用谷歌搜索了几天,但没有任何作用.
谁知道怎么修它?
代码使用类,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'));
Run Code Online (Sandbox Code Playgroud)
这应该自动使用正确的类(无论数据库连接的类型如何),并在内部处理不同的步骤.