É mais fácil dar um replace nos espaços por % e pronto.
$result = mysql_query("SELECT * FROM `arquivos` WHERE texto LIKE '%" . str_replace(" ", "%", $q) ."%'", $con);
LeoB, testei o código que vc sugeriu, mas tem um problema:
adicionei um texto no DB escrito: teste com palavras
fiz a busca destas formas:
>> busquei com todas palavras e mostrou o texto, até aí tudo bem;
>>busquei com as palavras > teste palavras e mostrou o texto, perfeito;
>>busquei com a palavra > palavras e mostrou o texto, blz;
>>e agora inverti a posição das palavras > palavras teste e não mostrou o texto, sendo que deveria mostrar!
Tem como fazer a consulta independente da ordem das palavras?

quando resolve um problema, apareçe outro!

-----------------------------------------------------------------------------------
Gostaria de saber como é feita aquela busca, como esta do fórum, onde ao digitar palavras como "busca paginada" ou paginação resultados busca" eu obtenho resultados com as palavras informadas mesmo não estando na mesma ordem.
Opaa, voltandoo, consegui um codigo que faz a busca com várias palavras independente da ordem digitada:
$q=$_GET['q']; $result=mysql_query("SELECT * FROM `arquivos` WHERE MATCH (assunto , texto) AGAINST ('".$q."' in boolean mode) ",$con); while($dados=mysql_fetch_array($result)){ echo $dados['texto']."<br><hr>"; }
hostdesigner, é isso que vc queria?
Acho que o tópico foi RESOLVIDO!