Php Zend Framework 1-消息:SQLSTATE[HY093]:无效参数编号:未绑定任何参数

Php Zend Framework 1-消息:SQLSTATE[HY093]:无效参数编号:未绑定任何参数,php,mysql,zend-framework,zend-db,zend-db-table,Php,Mysql,Zend Framework,Zend Db,Zend Db Table,发生错误 应用程序错误 例外信息: 消息:SQLSTATE[HY093]:参数编号无效:未绑定任何参数 我的控制器: public function insertarAction() { $data = $this->getRequest()->getParams(); // extract($data); if (isset($data['cod_domicilio'])) { $municipio = new

发生错误 应用程序错误 例外信息: 消息:SQLSTATE[HY093]:参数编号无效:未绑定任何参数

我的控制器:

public function insertarAction() {
        $data = $this->getRequest()->getParams();
        // extract($data);


        if (isset($data['cod_domicilio'])) {

        $municipio = new Application_Model_DbTable_Municipios();
        $datos_municipio = $municipio->todosMunicipios();
        $datos_municipio['cod_municipio']=$data['cod_municipio'];

        $localidad = new Application_Model_DbTable_Localidades();
        $datos_localidad = $localidad->buscarLocalidad();

        $datos_municipio['cod_departamento']=$datos_localidad['codigo_departamento'];

        $rowMunicipio = $municipio->createRow();
        print_r($rowMunicipio);
        $rowMunicipio->save();
        }
}
捕获时打印R:

    array (
  'controller' => 'beneficiarios',
  'action' => 'insertar',
  'module' => 'default',
  'codigo_beneficiario' => '',
  'codigo_ud' => '2007',
  'nombres' => 'lksakljsdlkjsd',
  'apellidos' => 'lkslkjslkjsd',
  'tipo_beneficiario' => 'estudiante',
  'tipo_documento' => 'CC',
  'numero_documento' => '10912919009',
  'genero' => 'M',
  'tipo_sangre' => 'o+',
  'fecha_nacimiento' => '2013-12-12',
  'huella_d' => 'Ajustes Base de Datos',
  'huella_i' => 'Ajustes Base de Datos',
  'telefono_fijo' => '9191919',
  'telefono_celular' => '9191919191',
  'email_personal' => 'info@hola.com',
  'email_institucional' => 'info@hola.com',
  'tipo_regimen_salud' => 'sub',
  'cod_entidad_salud' => '1',
  'nombre_contacto' => 'alkslkalkakl',
  'telefono_contacto' => '18918198',
  'cod_domicilio' => '1',
  'cod_pais' => '56',
)  
下表:

CREATE TABLE IF NOT EXISTS `beneficiarios` (
  `codigo_beneficiario` int(11) NOT NULL AUTO_INCREMENT,
  `codigo_ud` bigint(20) NOT NULL,
  `nombres` varchar(30) NOT NULL,
  `apellidos` varchar(30) NOT NULL,
  `genero` enum('M','F') NOT NULL,
  `tipo_documento` enum('CC','TI','CE','P') NOT NULL,
  `numero_documento` varchar(30) NOT NULL,
  `huella_i` blob NOT NULL,
  `huella_d` blob NOT NULL,
  `telefono_fijo` varchar(8) DEFAULT NULL,
  `telefono_celular` varchar(10) DEFAULT NULL,
  `email_personal` varchar(50) NOT NULL,
  `email_institucional` varchar(50) DEFAULT NULL,
  `tipo_sangre` enum('o+','o-','a+','a-','ab+','ab-','p','b+','b-') NOT NULL,
  `fecha_nacimiento` date NOT NULL,
  `tipo_regimen_salud` enum('sub','cont') NOT NULL,
  `nombre_contacto` varchar(60) NOT NULL,
  `telefono_contacto` varchar(10) NOT NULL,
  `cod_entidad_salud` int(11) NOT NULL,
  `cod_domicilio` int(11) NOT NULL,
  `cod_pais` int(11) NOT NULL,
  `tipo_beneficiario` enum('estudiante','docente','administrativo') NOT NULL,
  PRIMARY KEY (`codigo_beneficiario`),
  KEY `fk_Beneficiario_Entidades_Salud1_idx` (`cod_entidad_salud`),
  KEY `fk_Beneficiario_Domicilios1_idx` (`cod_domicilio`),
  KEY `fk_Beneficiario_Paises1_idx` (`cod_pais`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
我正确插入了数据,但显示了此错误,输入的数据数量与中的表(22个数据)

中来自此示例(示例7)的数据数量相同,您似乎必须将数据数组,
$datos_municipio
传递到
createRow()
函数

$rowMunicipio=$municipio->createRow($datos\u municipio)

您必须将其设置为类属性,如
$datos_市政->cod_departmento=$datos_localidad['codigo_departmento'];

另外,我在其他表中插入了数据:p