En principio, si no genera un error, pero no hace un UPDATE, la consecuencia lógica es que no hay registros que cumplan con la condición peusta en el WHERE...
¿lo meditaste?
Por otro lado, yo le veo un problema de lógica:
Código SQL:
Ver originalUPDATE facturar
SET factura='$factura',
emision='$emision',
fcha='$fcha',
razon_social='$razon_social',
rif_ci='$rif_ci',
horas_trabajadas='$horas_trabajadas',
concepto='$concepto',
p_unit='$p_unit',
total='$total',
periodo='$periodo',
total_pagar='$total_pagar'
WHERE factura='factura'
Según esto, estás actualizando el campo "factura" (¿por qué?), y otro conjunto de datos, donde el contenido de ese mismo campo sea "factura"...
¿Estás seguro de que ese campo contiene el texto "factura"?
¿Por qué, si ya tiene algo definido lo estás cambiando por el contenido de una variable?