No hay funciones en PHP para eso, en dado caso lo que tienes en mente está bien, extraer los registros y comparar uno a uno.
Código PHP:
$foo = '3-5';
$bar = 4;
list($min, $max) = explode('-', $foo);
if (($bar >= $min) && ($bar <= $max)) {
echo "El valor $bar está dentro del rango $foo\n";
}
Si hubieras diseñado tu base de datos de una mejor forma una simple consulta sería suficiente pero como no fue así y encima te urge no te queda más que hacerlo de la peor forma posible, es decir, como ya lo estás haciendo.
Suerte.