Ir para conteúdo
Fórum Script Brasil

sauloroos

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre sauloroos

sauloroos's Achievements

0

Reputação

  1. Cara... a função que você me passou não funcionou de cara, apesar de eu achar que com um toque ali ou aqui vá funcionar. No entanto, um parceiro me chamou atenção para a prática ruim de usar o comando LIKE '%coringa'% e me passou um artigo que resolveu o problema e também otimiza o desempenho do banco de dados. Aqui está o link do artigo para quem tiver a mesma dúvida: http://pt.blog.marceloaltmann.com/en-using-the-mysql-fulltext-index-search-pt-utilizando-mysql-fulltext/ Vlw pela ajuda irmão!
  2. Olá galera, seguinte... Eu tenho um sistema pronto e funcional e estou atualizando-o para utilizá-lo com PDO, pois estou a mudar de servidor onde terei suporte para tal. No meu sistema é possível realizar uma busca com a seguinte consulta (Por alto): $sql = mysql_query("SELECT * FROM exemplo WHERE nome LIKE '%$termo%' ");Sendo que a variável $termo recebe uma expressão relativa igual à: $termo = str_replace(" ","%' AND nome LIKE '%", $termo); No caso, o usuário escreve "Casa Vermelha" e a função substitui os espaços pela expressão relativa. Que na consulta vai parar deste jeito... $sql = mysql_query("SELECT * FROM exemplo WHERE nome LIKE '%Casa%' AND nome LIKE '%Vermelha%' "); A questão é, no pdo isto não funciona... Na consulta preparada: (exemplo) $buscarLocais=$conexao->prepare("SELECT * FROM exemplo WHERE nome LIKE ?"); $buscarLocais->bindValue(1, "%$termo%"); $buscarLocais->execute(); A variável recebe a mesma modificação, mas isto não resulta em uma query e sim em uma simples expressão no lugar do "?" O único modo em que tentei e foi possível, foi este: $buscarLocais=$conexao->prepare("SELECT * FROM exemplo WHERE nome LIKE '%$termo%' "); $buscarLocais->execute(); Mas creio eu que deste modo o PDO perde seu objetivo de tornar a query segura. Então galera, como posso resolver este probleminha? Agradeço desde já a ajuda!
×
×
  • Criar Novo...