AnswerBun.com

Faço uma consulta no banco através de concatenações em minha query e retorna vazio

Stack Overflow em Português Asked by Felipe Mascarenhas on January 2, 2022

Faço minha consulta no banco com a seguinte função e não está retornando nada.

    function pesquisarPaciente2($nome_paciente = "", $nascimento_paciente = "", $id_paciente = ""){

    global $pdo;

    $filtrostring = array("1=1");
    $array = array();

    if(!empty($nome_paciente)){
        $filtrostring[] = 'nome LIKE :nome_paciente"';

    }

    if(!empty($nascimento_paciente)){
        $filtrostring[] = 'data_nasc = :nascimento_paciente"';

    }

    if(!empty($id_paciente)){
        $filtrostring[] = 'id = :id_paciente"';

    }



    $sql = $pdo->prepare("SELECT id, nome, data_nasc FROM tbl_pacientes WHERE  ".implode(' AND ', $filtrostring));


    print_r($sql); 
    exit;


    if(!empty($id_paciente)){
        $sql->bindValue(":id_paciente", $id_paciente);

    }   


    if(!empty($nome_paciente)){
        $nome_paciente = "%".$nome_paciente."%";
        $sql->bindValue(":nome_paciente", $nome_paciente);

    }   

    if(!empty($nascimento_paciente)){
        $sql->bindValue(":nascimento_paciente", $nascimento_paciente);

    }   

    $sql->execute();

    if($sql->rowCount() > 0){
            
        $array = $sql->fetchAll();

    }


    return $array;
    exit;




}

Ao dar o print_r(), retorna a seguinte mensagem

inserir a descrição da imagem aqui

Ao executar essa query diretamente no banco substituindo pelo valores, executa normalmente sem nenhum erro.

One Answer

O problema está nas aspas duplas simples ao mesmo tempo, conforme o código abaixo.

if(!empty($nome_paciente)){
    $filtrostring[] = 'nome LIKE :nome_paciente"';

}

O correto para funcionar é colocar apenas aspas duplas assim, "nome LIKE :nome_paciente". Depois de ajustado funcionou perfeitamente.

Answered by Felipe Mascarenhas on January 2, 2022

Add your own answers!

Related Questions

The operator + is undefined for the argument type(s) CharSequence, int

1  Asked on January 2, 2022 by marcos-paulo-s-rezende

       

Entidades classes

1  Asked on January 2, 2022

     

Relacionamento entre tabelas com Sequelize

1  Asked on January 2, 2022 by vitor-cordeiro

     

EOFError: EOF when reading a line

2  Asked on January 2, 2022 by bilbo

       

Yup mixed não funciona notRequired ou nullable

1  Asked on January 2, 2022 by braga-us

     

TypeOrm consulta com Inner Join está vindo vazia

1  Asked on January 2, 2022 by gustavo-benevenuto

         

Como centralizar um menu (div) fixo?

1  Asked on January 2, 2022 by the-witcher0

   

Axios: params em GET não funciona – React Native

1  Asked on January 2, 2022 by joseph-isaac

       

Problemas ao alinhar div no lado direito

1  Asked on January 2, 2022 by imm-telecom

   

wp_pagenavi não funciona em category.php

2  Asked on December 30, 2021 by juliano-arajo

   

Problema com o Split() no Mono

1  Asked on December 30, 2021 by ygor-kayan

     

Crio uma tabela ou várias no SQL Server?

1  Asked on December 30, 2021 by denilson-carlos

         

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP