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

mysql PDO como ligar LIKE


Você também poderia dizer:
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')

para fazer a junção da string no final do MySQL, não que haja algum motivo específico para isso neste caso.

As coisas ficam um pouco mais complicadas se o wrd parcial que você está procurando pode conter um caractere de porcentagem ou sublinhado (já que eles têm significado especial para o operador LIKE) ou uma barra invertida (que o MySQL usa como outra camada de escape no operador LIKE — incorretamente, de acordo com o padrão ANSI SQL).

Espero que isso não afete você, mas se você precisar acertar esse caso, aqui está a solução confusa:
$stmt= $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);