"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como usar corretamente LIKE com BindParam em consultas MySQL PDO?

Como usar corretamente LIKE com BindParam em consultas MySQL PDO?

Publicado em 2024-11-16
Navegar:575

How to Correctly Use LIKE with BindParam in MySQL PDO Queries?

Usando corretamente LIKE com BindParam na consulta MySQL PDO

Ao tentar realizar pesquisas LIKE com bindParam em consultas MySQL PDO, é essencial usar a sintaxe correta para garantir resultados precisos.

Sintaxe otimizada

Para corresponder aos nomes de usuário começando com "a" usando bindParam, a sintaxe correta é:

$term = "a%";

Em contraste, a sintaxe fornecida na pergunta original, "$term = "'$ term%'", está incorreto, pois coloca aspas simples internas desnecessárias em torno do valor $term, o que resultaria na pesquisa de 'a%' em vez de a%.

bindParam's Role

bindParam é responsável por citar automaticamente dados de string quando eles são inseridos em instruções SQL. Portanto, anexar aspas simples manualmente não é necessário e pode levar a resultados incorretos.

Código revisado

Usando a sintaxe otimizada, o código revisado seria:

$term = "a%";

$sql = "SELECT username FROM `user` WHERE username LIKE :term LIMIT 10";      

$core = Connect::getInstance();

$stmt = $core->dbh->prepare($sql);
$stmt->bindParam(':term', $term, PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetchAll();
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3