Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

procure por várias palavras-chave com php e mysql (onde X gosta)


Para pesquisar dinamicamente todas as palavras-chave, você pode usar a função explodir para separar todas as palavras-chave;
$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);

Observação 1: Sempre escape da entrada do usuário antes de usá-la em sua consulta.

Observação 2: As funções mysql_* estão obsoletas, use Mysqli ou PDO como alternativa

Atualização de 2018 - Observação 3: Não se esqueça de verificar o comprimento do $queried variável e defina um limite. Caso contrário, o usuário pode inserir uma string grande variada e travar seu banco de dados.