si solo quieres buscar coincidencias de las palabras de una cadena dada, la solucion mas simple que veo y seme ocurre, es añadir un LIKE por cada palabra, ya que cada LIKE te buscara coincidencias sobre un patron dado, no se si esto es lo mas eficiente.
en fin me explico:
la consulsta debe de quedar algo asi:
Código SQL:
Ver originalSELECT *
FROM tabla
WHERE
campo LIKE '%valorrecibido1%' OR
campo LIKE '%valorrecibido2%' OR
campo LIKE '%valorrecibido3%';
para contruir tu consulta primero deberas cortar la cadena que recibes $nombrepropietario, y armar la consulta
algo asi
Código PHP:
<?php
$busca_palabras=explode(' ', $nompropietario); //cortas por cada espacio
$cantidad_palabras= count($busca_palabras); // cuentas el numero de palabras
//construyes la consulta
$consulta ="SELECT * FROM datos WHERE " ;
for($i=0; $i<= $cantidad_palabras; $i++){
$palabra=$busca_palabras[$i];
$consulta.=" datos LIKE '%$palabra%' ";
if($i != $cantidad_palabras){$consulta.=" OR ";} // Si no es la ultim plbra añades un OR para el siguiente like
}
$consulta = mysql_query($consulta,$serv );
?>
El inconveniente de haces esto es que te traera todos los registros donde coincida alguna de las palabras, aunque podrias jugar con los operadores para que traiga solo donde aparecen todas las palabras.