Sucede que el carácter
& es también el separador de variables en la definición de una URL, es por eso que sencillamente no puedes usar dicho carácter sólo por que sí.
Para poder emplearlo en un enlace debe estar en su notación escapada, con urlencode() consigues dicho valor.
Eso es básico, y no digamos de HTML, deberías saber.