title: Error: SQLSTATE[HY093] sending data through HTML/PHP to MySQL
body: <p>I'm trying to send a lot of data from a form to a mysql database, and I'm getting the following error:</p>
  
  <blockquote>
    <p>Error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens</p>
  </blockquote>
  
  <p>I know the error is likely related to the amount of fields I'm sending not matching the number of parameters in the query.</p>
  
  <p>Code below:</p>
  
  <pre><code>$stmt = $conn-&gt;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-&gt;bindParam(':fecha_operacion', $fecha_operacion);
      $stmt-&gt;bindParam(':vendedor_codigo', $vendedor_codigo);
      $stmt-&gt;bindParam(':vendedor_nombre', $vendedor_nombre);
      $stmt-&gt;bindParam(':vigencia', $vigencia);
      $stmt-&gt;bindParam(':plan', $plan);
      $stmt-&gt;bindParam(':persona_tipo', $persona_tipo);
      $stmt-&gt;bindParam(':IVA_cond', $IVA_cond);
      $stmt-&gt;bindParam(':auto_marca', $auto_marca);
      $stmt-&gt;bindParam(':auto_modelo', $auto_modelo);
      $stmt-&gt;bindParam(':auto_anofab', $auto_anofab);
      $stmt-&gt;bindParam(':auto_cerokm', $auto_cerokm);
      $stmt-&gt;bindParam(':auto_suma', $auto_suma);
      $stmt-&gt;bindParam(':auto_uso', $auto_uso);
      $stmt-&gt;bindParam(':auto_rastreo', $auto_rastreo);
      $stmt-&gt;bindParam(':auto_cp', $auto_cp);
      $stmt-&gt;bindParam(':auto_tarifa', $auto_tarifa);
      $stmt-&gt;bindParam(':acc1_cod', $acc1_cod);
      $stmt-&gt;bindParam(':acc1_desc', $acc1_desc);
      $stmt-&gt;bindParam(':acc1_valor', $acc1_valor);
      $stmt-&gt;bindParam(':acc2_cod', $acc2_cod);
      $stmt-&gt;bindParam(':acc2_desc', $acc2_desc);
      $stmt-&gt;bindParam(':acc2_valor', $acc2_valor);
      $stmt-&gt;bindParam(':acc3_cod', $acc3_cod);
      $stmt-&gt;bindParam(':acc3_desc', $acc3_desc);
      $stmt-&gt;bindParam(':acc3_valor', $acc3_valor);
      $stmt-&gt;bindParam(':acc4_cod', $acc4_cod);
      $stmt-&gt;bindParam(':acc4_desc', $acc4_desc);
      $stmt-&gt;bindParam(':acc4_valor', $acc4_valor);
      $stmt-&gt;bindParam(':cobertura_tipo', $cobertura_tipo);
      $stmt-&gt;bindParam(':electronica', $electronica);
      $stmt-&gt;bindParam(':tit_tipo_persona', $tit_tipo_persona);
      $stmt-&gt;bindParam(':tit_tipodoc', $tit_tipodoc);
      $stmt-&gt;bindParam(':tit_nrodoc', $tit_nrodoc);
      $stmt-&gt;bindParam(':tit_apellido', $tit_apellido);
      $stmt-&gt;bindParam(':tit_provincia', $tit_provincia);
      $stmt-&gt;bindParam(':tit_localidad', $tit_localidad);
      $stmt-&gt;bindParam(':tit_calle', $tit_calle);
      $stmt-&gt;bindParam(':tit_altura', $tit_altura);
      $stmt-&gt;bindParam(':tit_piso', $tit_piso);
      $stmt-&gt;bindParam(':tit_dpto', $tit_dpto);
      $stmt-&gt;bindParam(':tit_cp', $tit_cp);
      $stmt-&gt;bindParam(':tit_tel1', $tit_tel1);
      $stmt-&gt;bindParam(':tit_tel2', $tit_tel2);
      $stmt-&gt;bindParam(':tit_sexo', $tit_sexo);
      $stmt-&gt;bindParam(':tit_est_civil', $tit_est_civil);
      $stmt-&gt;bindParam(':tit_nacionalidad', $tit_nacionalidad);
      $stmt-&gt;bindParam(':tit_actividad', $tit_actividad);
      $stmt-&gt;bindParam(':tit_cuit', $tit_cuit);
      $stmt-&gt;bindParam(':tit_mail', $tit_mail);
      $stmt-&gt;bindParam(':tit_prov_nac', $tit_prov_nac);
      $stmt-&gt;bindParam(':tit_loc_nac', $tit_loc_nac);
      $stmt-&gt;bindParam(':tit_fecha_nac', $tit_fecha_nac);
      $stmt-&gt;bindParam(':rep_tipodoc', $rep_tipodoc);
      $stmt-&gt;bindParam(':rep_apellido', $rep_apellido);
      $stmt-&gt;bindParam(':rep_nombre', $rep_nombre);
      $stmt-&gt;bindParam(':vh_patente', $vh_patente);
      $stmt-&gt;bindParam(':vh_chasis', $vh_chasis);
      $stmt-&gt;bindParam(':vh_motor', $vh_motor);
      $stmt-&gt;bindParam(':pago_forma', $pago_forma);
      $stmt-&gt;bindParam(':pago_cuotacero', $pago_cuotacero);
      $stmt-&gt;bindParam(':pago_cbu', $pago_cbu);
      $stmt-&gt;bindParam(':pago_tarj_nombre', $pago_tarj_nombre);
      $stmt-&gt;bindParam(':pago_tarj_nro', $pago_tarj_nro);
      $stmt-&gt;bindParam(':pago_tarj_vcto', $pago_tarj_vcto);
      $stmt-&gt;bindParam(':pago_tarj_titular', $pago_tarj_titular);
  
      $stmt-&gt;execute();
  
  
  } catch (PDOException $e) {
      echo "Error: " . $e-&gt;getMessage();
  }
  $conn = null;
  </code></pre>