Encontré la parte de tu código que está mal. No es el orden en sí, sino en esta parte:
Código php:
Ver original if (empty($query)) {$query="SELECT * FROM pagos01";} else {$query;}
Fíjate que si la consulta ($query) aún está vacía le agregas el "SELECT * FROM pagos01". Pero ahora, supongamos que seguido a eso compruebas otro dato, $query no está vacío así que tratará de agregarle la cadena " AND campo='valor'" con lo que la consulta quedaría:
Código sql:
Ver originalSELECT * FROM pagos01 AND campo='valor'
Lo que obviamente está incorrecto. Concluyendo, no necesitas agregar nada cuando $id está vacío.
Saludos

.