AVISO: Si el mismo código se actualiza varias veces es porque se encuentra repetido en el archivo subido.

prepare("INSERT INTO encuesta_capacidades_tecnologicas ( user_id, user_type, personal_type, user_email, user_dni, user_name, user_lastname, user_phone, code_info, info_name, user_state, user_municipality, user_parish, user_zone_type, user_blender_user_skills, user_python_user_skills, user_stop_motion_skills, user_web_design_skills, user_wordpress_skills, user_html_skills, user_PHP_skills, user_blog_design_skills, user_digital_magazine_skills, user_digital_economy_skills, user_crypto_assets_skills, user_e_bank_patria_skills, user_e_commerce_skills, user_use_movile_devices_skills, user_technical_support_computers_devices_skills, user_technical_support_movile_devices_skills, user_network_technical_support_skills, user_social_media_management_skills, user_social_media_security_skills, user_imagen_design_skills, user_mobile_video_editing_skills, user_remote_communication_skills, user_libre_office_applications_skills, user_meme_creations_skills, user_presentations_creations_skills, user_accounting_books_skills, user_budget_cration_skills, user_strategic_planning_skills, user_project_elaboration_skills, user_collective_diagnosis_skills, user_situational_analysis_tecniques_skills, user_systematization_community_experiences_skills, user_content_assertive_organizational_communication_skills, user_robotics_skills, user_artificial_intelligence_skills, user_programming_skills, user_application_creation_skills, user_greater_technological_skill, user_greater_technological_skill_level, user_training_needs, user_other_training_needs, user_know_PNCT_MincCYT, user_potential_contribution_for_areas_PNCT, user_know_PNI_infocentro, user_potential_contribution_for_PNI_infocentro, knowledge_remote_learning, participation_virtual_training, experience_online_training, know_platform_aprendiendo_juntos, training_received_aprendiendo_juntos, interest_to_training_on_aprendiendo_juntos, know_benefits_online_training, suggestions_provided, user_name_os ) VALUES (?, ?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?)"); // ON CONFLICT(email) DO UPDATE SET name = EXCLUDED.name, surname = EXCLUDED.surname if (isset($_FILES['dataCliente'])) { if ($xlsx = SimpleXLSX::parse($_FILES['dataCliente']['tmp_name'])) { $array_fields_name = array(); foreach ($xlsx->rows() as $k => $fields) { if ($k == 0) { $array_fields_name = $fields; continue; // skip first row } // param where | user_id // $param = (isset($fields[0]) ? $fields[0] : ''); $param = (isset($fields[1]) ? $fields[1] : ''); $param = str_replace(["\r\n", "\n", "\r"], '', $param); $param = strtoupper($param); // echo '-'.$param .'-
'; $dim = $xlsx->dimension(); $cols = $dim[0]; $array_fields = array(); $total_xlsx = $dim[1] - 1; $pass = 0; // echo $fields[1]; // return; if (!empty($param)) { // saber si el registro existe $r = PersonalCapabilitiesData::getByIdPg($param); if ($r == 'null') { for ($i = 0; $i < $cols - 1; $i++) { $data_field = $array_fields_name[$i + 1]; $data_var = (isset($fields[$i + 1]) ? $fields[$i + 1] : ""); empty($data_var) ? $data_var = "NULL" : $data_var; if ($data_field == "code_info") { $data_var = str_replace(["\r\n", "\n", "\r"], '', $data_var); $data_var = strtoupper($data_var); } $array_fields[] = $data_var; // echo ($i+1)."--".$data_var."--
"; } $stmt_insert->bindParam(1, $array_fields[0]); $stmt_insert->bindParam(2, $array_fields[1]); $stmt_insert->bindParam(3, $array_fields[2]); $stmt_insert->bindParam(4, $array_fields[3]); $stmt_insert->bindParam(5, $array_fields[4]); $stmt_insert->bindParam(6, $array_fields[5]); $stmt_insert->bindParam(7, $array_fields[6]); $stmt_insert->bindParam(8, $array_fields[7]); $stmt_insert->bindParam(9, $array_fields[8]); $stmt_insert->bindParam(10, $array_fields[9]); $stmt_insert->bindParam(11, $array_fields[10]); $stmt_insert->bindParam(12, $array_fields[11]); $stmt_insert->bindParam(13, $array_fields[12]); $stmt_insert->bindParam(14, $array_fields[13]); $stmt_insert->bindParam(15, $array_fields[14]); $stmt_insert->bindParam(16, $array_fields[15]); $stmt_insert->bindParam(17, $array_fields[16]); $stmt_insert->bindParam(18, $array_fields[17]); $stmt_insert->bindParam(19, $array_fields[18]); $stmt_insert->bindParam(20, $array_fields[19]); $stmt_insert->bindParam(21, $array_fields[20]); $stmt_insert->bindParam(22, $array_fields[21]); $stmt_insert->bindParam(23, $array_fields[22]); $stmt_insert->bindParam(24, $array_fields[23]); $stmt_insert->bindParam(25, $array_fields[24]); $stmt_insert->bindParam(26, $array_fields[25]); $stmt_insert->bindParam(27, $array_fields[26]); $stmt_insert->bindParam(28, $array_fields[27]); $stmt_insert->bindParam(29, $array_fields[28]); $stmt_insert->bindParam(30, $array_fields[29]); $stmt_insert->bindParam(31, $array_fields[30]); $stmt_insert->bindParam(32, $array_fields[31]); $stmt_insert->bindParam(33, $array_fields[32]); $stmt_insert->bindParam(34, $array_fields[33]); $stmt_insert->bindParam(35, $array_fields[34]); $stmt_insert->bindParam(36, $array_fields[35]); $stmt_insert->bindParam(37, $array_fields[36]); $stmt_insert->bindParam(38, $array_fields[37]); $stmt_insert->bindParam(39, $array_fields[38]); $stmt_insert->bindParam(40, $array_fields[39]); $stmt_insert->bindParam(41, $array_fields[40]); $stmt_insert->bindParam(42, $array_fields[41]); $stmt_insert->bindParam(43, $array_fields[42]); $stmt_insert->bindParam(44, $array_fields[43]); $stmt_insert->bindParam(45, $array_fields[44]); $stmt_insert->bindParam(46, $array_fields[45]); $stmt_insert->bindParam(47, $array_fields[46]); $stmt_insert->bindParam(48, $array_fields[47]); $stmt_insert->bindParam(49, $array_fields[48]); $stmt_insert->bindParam(50, $array_fields[49]); $stmt_insert->bindParam(51, $array_fields[50]); $stmt_insert->bindParam(52, $array_fields[51]); $stmt_insert->bindParam(53, $array_fields[52]); $stmt_insert->bindParam(54, $array_fields[53]); $stmt_insert->bindParam(55, $array_fields[54]); $stmt_insert->bindParam(56, $array_fields[55]); $stmt_insert->bindParam(57, $array_fields[55]); $stmt_insert->bindParam(58, $array_fields[55]); $stmt_insert->bindParam(59, $array_fields[55]); $stmt_insert->bindParam(60, $array_fields[55]); $stmt_insert->bindParam(61, $array_fields[55]); $stmt_insert->bindParam(62, $array_fields[55]); $stmt_insert->bindParam(63, $array_fields[55]); $stmt_insert->bindParam(64, $array_fields[55]); $stmt_insert->bindParam(65, $array_fields[55]); $stmt_insert->bindParam(66, $array_fields[55]); $stmt_insert->bindParam(67, $array_fields[55]); $stmt_insert->bindParam(68, $array_fields[55]); $stmt_insert->execute(); echo "NUEVO REGISTRO:: " . $array_fields[4] . "
"; // echo $stmt_insert->queryString."
"; } else { for ($i = 0; $i < $cols - 1; $i++) { $array_fields[] = (isset($fields[$i + 1]) ? $fields[$i + 1] : ""); $val_field = (isset($fields[$i + 1]) ? $fields[$i + 1] : ""); $val_field = str_replace("'", "", $val_field); $data_field = $array_fields_name[$i + 1]; if ($data_field != "") { if ($val_field != $r->$data_field) { if ($data_field != "id" && $data_field != "info_id" && $data_field != "info_cod") { $data_q = $r->$data_field; $r->$data_field = $val_field; echo "Actualizado:$param > $data_field : ($data_q) -POR- ($val_field)
"; } } } } // $result = $r->updatePgXLSX(); } } echo ""; } } else { echo SimpleXLSX::parseError(); } } ?>