sin animos de ofender, es que has estado entendiendo todo al reves!!
así podría ir mejor tu codigo, desde un principio...
Código PHP:
$partes=explode(" ",$val);
$num=count($partes);
if ($num==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
$cadbusca="SELECT * FROM carpetas WHERE UPPER(Ruc_Car) LIKE '%".$val."%' OR Est_Car LIKE '%".$val."%' OR Fec_Car LIKE '%".$val."%'";
}else{
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
//busqueda de frases con mas de una palabra y un algoritmo especializado
$cadbusca="SELECT * FROM carpetas WHERE MATCH (Def_car) AGAINST ( '".($val)."' ) ORDER BY Def_Car DESC";
}
$result=mysql_query($cadbusca) or die("MySQL dice: ".mysql_error());
//mostrar resultados.
$row = mysql_fetch_array($result);
var_dump($row);
y así, ¿que sale??