Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

**Duvida com a query LIKE**

Fala galera! To com uma duvida sobre a query LIKE , desenvolvi uma função que busca no banco um cliente pelo ID

    function buscaId ($id,$conexao){
        $resultados= array();
        $query= "select * from cliente where id like '$id%' ";
        $resultado= mysqli_query($conexao,$query);
        while ($resultado_cliente = mysqli_fetch_assoc($resultado)) {
                array_push($resultados, $resultado_cliente);



            }

                return $resultados;
        }

Porém quando digita "%%" ou "VAZIO " no " Pesquisar" ele traz todos os clientes do banco

Como faço para desativar isso o banco vai ter 7,000 linhas

Abraço

2 respostas
solução!

Achei a minha dificuldade kk

não precisa do "like " eu tirei e resolveu

Valew

Oi Felipe,

Sei que você está estudando o LIKE mas não acho que no seu caso seja algo recomendado de se usar.

O LIKE funciona como um pattern. - Quando utilizado no inicio: %a, irá trazer tudo que termine com a letra a - Quando utilizado no fim: a%, irá trazer tudo que comece com a letra a - Quando utilizado no inicio e fim: %a%, irá trazer tudo que contenha a letra a - Quando se utiliza ele sem um parâmetro: %% ou %, ele basicamente está pedindo para trazer tudo.

Como você está procurando por um id que é algo específico que vai ter ou não, e você não precisa saber se existem outros id's semelhantes, o melhor é fazer uma pesquisa direta.

SELECT * FROM cliente WHERE id = '$id'

Também é aconselhado utilizar os nomes dos campos na hora da pesquisa ao invés do *, mesmo que você queira trazer todos os campos da tabela.