Usar INNER JOIN afecta los where?

Hola, tengo un problema con un código a ver si me dan una manito :P
$lista1=mysql_query("select * from salas inner join desc_categorias on salas.id_categoria = desc_categorias.id_categoria where categoria=$categoria ORDER BY id_sala DESC LIMIT ".(($pagActual-1)*$regVistos).",".$regVistos."");


if (mysql_num_rows($lista1)) {
while($fila = mysql_fetch_assoc($lista1)) {
	$titu = $fila['titulo'];
	$conte = $fila['contenido'];
	$cate = $fila['categoria'];
	
	echo $titu;
	echo " (".$cate.")<br/>";
	echo $conte."<br/><br/>";
 
}
}

la $categoria es el nombre de la categoria que quiero que me reconosca, cuando le quito el where de esa consulta me va de maravilla pero necesito usar ese where. Espero me hayan captado la idea :P.
ahh y el error que me sale es en estas lineas

if (mysql_num_rows($lista1)) {
while($fila = mysql_fetch_assoc($lista1)) {
si saco la primera se pasa a la otra, si no me equivoco el eror que sale es "q los que los argumentos q pongo es invalido" eso cuando esta el where.
Saludos