Quizá haya una forma más eficiente de hacer esto, pero lo que buscas hacer, lo haría de este modo:
Código PHP:
Ver original$variable = 'El sol ario';
$desgloza = explode(' ', $variable); $comodin = false;
foreach ($desgloza as $palabra)
if (strlen($palabra) > 3) $comodin = true;
if ($comodin)
$query = "SELECT * FROM tabla WHERE MATCH (campo) AGAINST ('$variable' IN BOOLEAN MODE)";
else
$query = "SELECT * FROM tabla WHERE campo LIKE '%" . implode("%' OR campo LIKE '%", $desgloza) . "%'";
El resultado de este ejemplo, es el siguiente:
Sin embargo, si
$variable
tuviera por valor "El sol", el resultado variaría:
Saludos