Ir para conteúdo
Fórum Script Brasil
  • 0

sistema de busca - qual a diferença


Scripter

Pergunta

olá!

gostaria de saber a diferença entre:

$query = "SELECT * FROM $variavel WHERE parametro LIKE %$outravariavel%"

E

$query = "SELECT * FROM $variavel WHERE parametro LIKE $outravariavel"

o que muda se eu tirar ou botar os % %??

muito obrigado!

Editado por Scripter
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'Scripter'

Se você não usar o % o MySQL vai equiparar a cláusula LIKE como um sinal de igual. Ou seja, se um campo tem como conteúdo "ANTONIO CARLOS REIS", o uso de

SELECT * FROM tabela where campo LIKE "ANTONIO CARLOS REIS"

é equivalente a

SELECT * FROM tabela where campo = "ANTONIO CARLOS REIS"

Para a cláusula LIKE o % representa um "curinga", ou seja um substitudo de caracteres a partir da posição em que aparece.

Assim, se uso o select

SELECT * FROM tabela where campo LIKE "ANTONIO%"

A resposta será o retorno de todas as linhas que começam pela palavra "ANTONIO" (não importando o que tem depois)

Se desejo encontrar um valor em qualquer parte do campo eu uso o % no ínício e no fim pesquisa. Exemplo

SELECT * FROM tabela where campo LIKE "%CARLOS%"

Retornará todos os registros que contenham "CARLOS" em qualquer parte deste campo (início, meio ou fim)

Se sedejo encontrar somente a última palavra em um campo então eu uso o % no início da pesquisa. Exemplo

SELECT * FROM tabela where campo LIKE "%REIS"

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...