sql >> Base de Datos >  >> RDS >> Mysql

busque varias palabras clave con php y mysql (donde X gusta)

Para buscar dinámicamente todas las palabras clave, puede usar la función de explosión para separar todas las palabras clave;

$queried = mysql_real_escape_string($_POST['query']); // always escape

$keys = explode(" ",$queried);

$sql = "SELECT * FROM links WHERE name LIKE '%$queried%' ";

foreach($keys as $k){
    $sql .= " OR name LIKE '%$k%' ";
}

$result = mysql_query($sql);

Nota 1: Siempre evite la entrada del usuario antes de usarla en su consulta.

Nota 2: Las funciones mysql_* están en desuso, use Mysqli o PDO como alternativa

Actualización 2018 - Nota 3: No olvide verificar la longitud del $queried variable y establecer un límite. De lo contrario, el usuario puede ingresar una cadena larga variable y colapsar su base de datos.