Partamos de dos detalles:
1) Si realizas una prueba insertando manualmente y por SQL puro el registro en la tabla, verás que los espacios a la izquierda se conservan. Por ende, no es un problema generado en sí por la consulta SQL, sino al momento de
construir la consulta en el script de PHP.
Esto lo puedes verificar simplemente haciendo esto manualmente en phpMyadmin:
Código MySQL:
Ver originalINSERT INTO tbl_cod_medios_humanos
(cod_medios_humanos
, descripcion_cod_medios_humanos
) VALUES (' 1.1.2.1. Especialista en hidrografía', ' 1.1.2.1. Especialista en hidrografía');
2) Si nos atenemos a tu código, tenemos este segmento que es el que define la construcción del INSERT:
Código PHP:
Ver original$insertSQL = sprintf("INSERT INTO tbl_cod_medios_humanos (cod_medios_humanos, descripcion_cod_medios_humanos) VALUES (%s, %s)", GetSQLValueString($_POST['cod_medios_humanos'], "text"),
GetSQLValueString($_POST['descripcion_cod_medios_humanos'], "text"));
Ahora bien, si no me equivoco, de acuerdo a mis pruebas, sprintf() genera una cadena basada en una serie de X parámetros, pero eliminando cualquier cosa que exista antes del primer caracter en esos mismos parámetros... Vale decir, que sólo toma los caracteres no blancos.
¿Lo has considerrado?
Simplemente ejecuta esto:
Código PHP:
Ver original<?php
$num = 5;
$location = ' árbol';
$format = ' Hay %d monos en el %s<br>';
echo 'Deberia haber 7 espacios antes del texto:'.sprintf($format, $num, $location); ?>
Yo, al menos, obtengo esto:
Cita: Deberia haber 7 espacios antes del texto: Hay 5 monos en el árbol