.. de hecho dudo que "
tu 25" se imprima al hacer
echo $impR2."<br>";... si tengo razón... haz un
echo " Prueba".$impR2."<br>"; y tu resultado debe ser "
25 Prueba". (espero no equivocarme
).. ¿por qué susece esto??.. porque es tu función la que imprime directamente, no regresa ningún valor, por lo tanto tu variable es y será nula.
Ahora bien... no viendo detenidamente tu función quiero suponer que si cambias esto
echo $row2[catid]; por esto
return $row2[catid]; debería de solucionar tu dilema.
Espero sirva... Suerte!