2013-12-20 2 views
0

응용 프로그램 오류 예외 정보 발생한 오류 : 메시지 : SQLSTATE [HY093] : 유효 파라미터 번호 : 매개 변수가 결합되지 않음젠드 프레임 워크 1 - 메시지 : SQLSTATE [HY093] : 유효 파라미터 번호 : 매개 변수가 결합되지 않음

내 컨트롤러 :

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' => '[email protected]', 
    'email_institucional' => '[email protected]', 
    'tipo_regimen_salud' => 'sub', 
    'cod_entidad_salud' => '1', 
    'nombre_contacto' => 'alkslkalkakl', 
    'telefono_contacto' => '18918198', 
    'cod_domicilio' => '1', 
    'cod_pais' => '56', 
) 
: 캡처 한 번에

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 3,691,363,210

의 표 : I 올바르게 데이터를 삽입하고 있지만 날이 오류를 보이고

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 개 데이터)

답변

0

와 같다 예 7) ZF Manual에서 데이터 배열 $datos_municipiocreateRow() 함수에 전달해야합니다. P :

$rowMunicipio = $municipio->createRow($datos_municipio);

또는

당신은
$datos_municipio->cod_departamento=$datos_localidad['codigo_departamento'];

+0

추가 내가 다른 테이블에 삽입 된 데이터를 가지고있는 것처럼 클래스 속성으로 설정해야 – Jhosman

관련 문제