¿Para qué se supone que son esos paréntesis en el SET del UPDATE?:
Ten en cuenta que el SQL tiene sus propias reglas de sintaxis, y cuando creas SQL dinamicamente con PHP, el SQL debe estar correctamente formado.
La prueba basica es simplemente no enviar a ejecutar algo antes de ver si está bien escrito...
Un simple echo o var_dump te evitaría la metida de pata:
Código PHP:
Ver original$query_es_pap_servicio = "UPDATE seg_pap_servicio SET ";
for($esp=0;$esp<count($esp_data_pv);$esp++){ $query_es_pap_servicio .= "(jc_servicio_id = '".$esp_data_pv[$esp]['esp_programa']."', seg_pap_valor_venta = '".$esp_data_pv[$esp]['esp_valor_venta']."' WHERE seg_pap_id = '$esp_id'),";
}
}
Postea lo que te muestre.
Finalmente: UPDATE no hace actualizaciones masivas diferenciando cada ID. Tendrás que ejecutar uno a uno, o crear una tabla transaccional para hacerlo con un JOIN.
Pero es mas tema de BBDD que de PHP.