Lo que tienes es un error de entendimiento de la diferencia entre lenguajes.
PHP no es MySQL, y MySQL no es PHP. Esto implica que MySQL
no entiende variables de PHP, y en consecuencia
no sabe que esa variable es un string. SQL tiene sus propias reglas que deben ser respetadas cuando se crea dinámicamnete una query.
Lo que debes verificar es siempre cuál es la sentencia SQL que finalmente recibe MySQL, porque alli descansa todo.
Si tu variable contiene "01234", pero no haces que ese valor quede como cadena de texto en MySQL, lo que recibirá será:
Como puedes ver, el valor aparece completo, pero no como cadena de texto, ya que no está contenido entre apóstrofos. Por esa razón MySQL lo interpreta como un número que debe ser convertido implícitamente en cadena de texto,
pero por empezar es un número, y al tomarlo como tal el cero a la izquierda desaparece.
Recién despues hace la conversión.
¿Se entiende?
Lo que debes hacer es crear la quyery de modo que el valor quee entre apostrofos:
¿Ves la diferencia?
Posdata: Lo siento pero si lees las normas del foro de BBDD que estan en la vista frontal de cada foro subforo de BBDD, verás que no se permite código de programacion de ningún tipo.
Sólo trabajamos con SQL en este foro.