错误:SQLSTATE [HY093]通过HTML / PHP向MySQL发送数据

时间:2019-03-20 05:22:33

标签: php html mysql pdo

我正在尝试将大量数据从表单发送到mysql数据库,并且出现以下错误:

  

错误:SQLSTATE [HY093]:无效的参数编号:绑定变量的数量与令牌的数量不匹配

我知道该错误很可能与我发送的字段数量不匹配,但该字段的数量与查询中的值数量不匹配,但是经过检查后,我发现两者均没有区别。

还要确保正确填写了所有相关字段。

代码很长,但要发布以供参考:

$stmt = $conn->prepare("INSERT INTO propuestas_emitidas (fecha_operacion, vendedor_codigo, vendedor_nombre, vigencia, plan, persona_tipo, IVA_cond, auto_marca, auto_modelo, auto_anofab, auto_cerokm, auto_suma, auto_uso, auto_rastreo, auto_cp, auto_tarifa, acc1_cod, acc1_desc, acc1_valor, acc2_cod, acc2_desc, acc2_valor, acc3_cod, acc3_desc, acc3_valor, acc4_cod, acc4_desc, acc4_valor, cobertura_tipo, electronica, tit_tipo_persona, tit_tipodoc, tit_nrodoc, tit_apellido, tit_provincia, tit_localidad, tit_calle, tit_altura, tit_piso, tit_dpto, tit_cp, tit_tel1, tit_tel2, tit_sexo, tit_est_civil, tit_nacionalidad, tit_actividad, tit_cuit, tit_mail, tit_prov_nac, tit_loc_nac, tit_fecha_nac, rep_tipodoc, rep_nrodoc, rep_apellido, rep_nombre, vh_patente, vh_chasis, vh_motor, pago_forma, pago_cuotacero, pago_cbu, pago_tarj_nombre, pago_tarj_nro, pago_tarj_vcto, pago_tarj_titular)
VALUES (:fecha_operacion, :vendedor_codigo, :vendedor_nombre, :vigencia, :plan, :persona_tipo, :IVA_cond, :auto_marca, :auto_modelo, :auto_anofab, :auto_cerokm, :auto_suma, :auto_uso, :auto_rastreo, :auto_cp, :auto_tarifa, :acc1_cod, :acc1_desc, :acc1_valor, :acc2_cod, :acc2_desc, :acc2_valor, :acc3_cod, :acc3_desc, :acc3_valor, :acc4_cod, :acc4_desc, :acc4_valor, :cobertura_tipo, :electronica, :tit_tipo_persona, :tit_tipodoc, :tit_nrodoc, :tit_apellido, :tit_provincia, :tit_localidad, :tit_calle, :tit_altura, :tit_piso, :tit_dpto, :tit_cp, :tit_tel1, :tit_tel2, :tit_sexo, :tit_est_civil, :tit_nacionalidad, :tit_actividad, :tit_cuit, :tit_mail, :tit_prov_nac, :tit_loc_nac, :tit_fecha_nac, :rep_tipodoc, :rep_nrodoc, :rep_apellido, :rep_nombre, :vh_patente, :vh_chasis, :vh_motor, :pago_forma, :pago_cuotacero, :pago_cbu, :pago_tarj_nombre, :pago_tarj_nro, :pago_tarj_vcto, :pago_tarj_titular)");

    $fecha_operacion = str_replace("/", "", date("d/m/y"));
    $vendedor_codigo = $_POST["vendedor_codigo"];
    $vendedor_nombre = $_POST["vendedor_nombre"];
    $vigencia = $_POST["vigencia"];
    $plan = $_POST["plan"];
    $persona_tipo = "F";
    $IVA_cond = $_POST["IVA_cond"];
    $auto_marca = $_POST["auto_marca"];
    $auto_modelo = $_POST["auto_modelo"];
    $auto_anofab = $_POST["auto_anofab"];
    $auto_cerokm = $_POST["auto_cerokm"];


    $auto_suma = NULL;

    $auto_uso = $_POST["auto_uso"];
    $auto_rastreo = $_POST["auto_rastreo"];
    $auto_cp = $_POST["auto_cp"];
    $auto_tarifa = $_POST["auto_tarifa"];

    if (!(isset($_POST["acc1_cod"]))) {
        $acc1_cod = NULL;
        $acc1_desc = NULL;
        $acc1_valor = NULL;
    } else {
        $acc1_cod = $_POST["acc1_cod"];
        $acc1_desc = $_POST["acc1_desc"];
        $acc1_valor = $_POST["acc1_valor"];
    }

    if (!(isset($_POST["acc2_cod"]))) {
        $acc2_cod = NULL;
        $acc2_desc = NULL;
        $acc2_valor = NULL;
    } else {
        $acc2_cod = $_POST["acc2_cod"];
        $acc2_desc = $_POST["acc2_desc"];
        $acc2_valor = $_POST["acc2_valor"];
    }

    if (!(isset($_POST["acc3_cod"]))) {
        $acc3_cod = NULL;
        $acc3_desc = NULL;
        $acc3_valor = NULL;
    } else {
        $acc3_cod = $_POST["acc3_cod"];
        $acc3_desc = $_POST["acc3_desc"];
        $acc3_valor = $_POST["acc3_valor"];
    }

    if (!(isset($_POST["acc4_cod"]))) {
        $acc4_cod = NULL;
        $acc4_desc = NULL;
        $acc4_valor = NULL;
    } else {
        $acc4_cod = $_POST["acc4_cod"];
        $acc4_desc = $_POST["acc4_desc"];
        $acc4_valor = $_POST["acc4_valor"];
    }



    $cobertura_tipo = NULL;


    $electronica = NULL;


    $tit_tipo_persona = "F";
    $tit_tipodoc = $_POST["tit_tipodoc"];
    $tit_nrodoc = $_POST["tit_nrodoc"];
    $tit_apellido = $_POST["tit_apellido"];
    $tit_provincia = $_POST["tit_provincia"];
    $tit_localidad = $_POST["tit_localidad"];
    $tit_calle = $_POST["tit_calle"];
    $tit_altura = $_POST["tit_altura"];
    $tit_piso = $_POST["tit_piso"];
    $tit_dpto = $_POST["tit_dpto"];
    $tit_cp = $_POST["tit_cp"];
    $tit_tel1 = $_POST["tit_tel1"];
    $tit_tel2 = $_POST["tit_tel2"];
    $tit_sexo = $_POST["tit_sexo"];
    $tit_est_civil = $_POST["tit_est_civil"];
    $tit_nacionalidad = $_POST["tit_nacionalidad"];


    $tit_actividad = NULL;

    $tit_cuit = $_POST["tit_nrodoc"];
    $tit_mail = $_POST["tit_mail"];
    $tit_prov_nac = $_POST["tit_prov_nac"];
    $tit_loc_nac = $_POST["tit_loc_nac"];
    $tit_fecha_nac = $_POST["tit_fecha_nac"];
    $rep_tipodoc = $_POST["tit_tipodoc"];
    $rep_nrodoc = $_POST["tit_nrodoc"];
    $rep_apellido = $_POST["tit_apellido"];
    $rep_nombre = $_POST["tit_apellido"];


    $vh_patente = NULL;
    $vh_chasis = NULL;
    $vh_motor = NULL;

    $pago_forma = "CBU";
    $pago_cuotacero = $_POST["pago_cuotacero"];
    $pago_cbu = $_POST["pago_cbu"];

    $pago_tarj_nombre = NULL;
    $pago_tarj_nro = NULL;
    $pago_tarj_vcto = NULL;
    $pago_tarj_titular = NULL;


    $stmt->bindParam(':fecha_operacion', $fecha_operacion);
    $stmt->bindParam(':vendedor_codigo', $vendedor_codigo);
    $stmt->bindParam(':vendedor_nombre', $vendedor_nombre);
    $stmt->bindParam(':vigencia', $vigencia);
    $stmt->bindParam(':plan', $plan);
    $stmt->bindParam(':persona_tipo', $persona_tipo);
    $stmt->bindParam(':IVA_cond', $IVA_cond);
    $stmt->bindParam(':auto_marca', $auto_marca);
    $stmt->bindParam(':auto_modelo', $auto_modelo);
    $stmt->bindParam(':auto_anofab', $auto_anofab);
    $stmt->bindParam(':auto_cerokm', $auto_cerokm);
    $stmt->bindParam(':auto_suma', $auto_suma);
    $stmt->bindParam(':auto_uso', $auto_uso);
    $stmt->bindParam(':auto_rastreo', $auto_rastreo);
    $stmt->bindParam(':auto_cp', $auto_cp);
    $stmt->bindParam(':auto_tarifa', $auto_tarifa);
    $stmt->bindParam(':acc1_cod', $acc1_cod);
    $stmt->bindParam(':acc1_desc', $acc1_desc);
    $stmt->bindParam(':acc1_valor', $acc1_valor);
    $stmt->bindParam(':acc2_cod', $acc2_cod);
    $stmt->bindParam(':acc2_desc', $acc2_desc);
    $stmt->bindParam(':acc2_valor', $acc2_valor);
    $stmt->bindParam(':acc3_cod', $acc3_cod);
    $stmt->bindParam(':acc3_desc', $acc3_desc);
    $stmt->bindParam(':acc3_valor', $acc3_valor);
    $stmt->bindParam(':acc4_cod', $acc4_cod);
    $stmt->bindParam(':acc4_desc', $acc4_desc);
    $stmt->bindParam(':acc4_valor', $acc4_valor);
    $stmt->bindParam(':cobertura_tipo', $cobertura_tipo);
    $stmt->bindParam(':electronica', $electronica);
    $stmt->bindParam(':tit_tipo_persona', $tit_tipo_persona);
    $stmt->bindParam(':tit_tipodoc', $tit_tipodoc);
    $stmt->bindParam(':tit_nrodoc', $tit_nrodoc);
    $stmt->bindParam(':tit_apellido', $tit_apellido);
    $stmt->bindParam(':tit_provincia', $tit_provincia);
    $stmt->bindParam(':tit_localidad', $tit_localidad);
    $stmt->bindParam(':tit_calle', $tit_calle);
    $stmt->bindParam(':tit_altura', $tit_altura);
    $stmt->bindParam(':tit_piso', $tit_piso);
    $stmt->bindParam(':tit_dpto', $tit_dpto);
    $stmt->bindParam(':tit_cp', $tit_cp);
    $stmt->bindParam(':tit_tel1', $tit_tel1);
    $stmt->bindParam(':tit_tel2', $tit_tel2);
    $stmt->bindParam(':tit_sexo', $tit_sexo);
    $stmt->bindParam(':tit_est_civil', $tit_est_civil);
    $stmt->bindParam(':tit_nacionalidad', $tit_nacionalidad);
    $stmt->bindParam(':tit_actividad', $tit_actividad);
    $stmt->bindParam(':tit_cuit', $tit_cuit);
    $stmt->bindParam(':tit_mail', $tit_mail);
    $stmt->bindParam(':tit_prov_nac', $tit_prov_nac);
    $stmt->bindParam(':tit_loc_nac', $tit_loc_nac);
    $stmt->bindParam(':tit_fecha_nac', $tit_fecha_nac);
    $stmt->bindParam(':rep_tipodoc', $rep_tipodoc);
    $stmt->bindParam(':rep_apellido', $rep_apellido);
    $stmt->bindParam(':rep_nombre', $rep_nombre);
    $stmt->bindParam(':vh_patente', $vh_patente);
    $stmt->bindParam(':vh_chasis', $vh_chasis);
    $stmt->bindParam(':vh_motor', $vh_motor);
    $stmt->bindParam(':pago_forma', $pago_forma);
    $stmt->bindParam(':pago_cuotacero', $pago_cuotacero);
    $stmt->bindParam(':pago_cbu', $pago_cbu);
    $stmt->bindParam(':pago_tarj_nombre', $pago_tarj_nombre);
    $stmt->bindParam(':pago_tarj_nro', $pago_tarj_nro);
    $stmt->bindParam(':pago_tarj_vcto', $pago_tarj_vcto);
    $stmt->bindParam(':pago_tarj_titular', $pago_tarj_titular);

    $stmt->execute();


} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}
$conn = null;

1 个答案:

答案 0 :(得分:1)

您错过了

$stmt->bindParam(':rep_nrodoc', $rep_nrodoc);