munkbozz Posted October 17, 2013 at 05:57 PM Report #529466 Posted October 17, 2013 at 05:57 PM Como devo fazer para fazer bind de um parâmetro em PDO e aplicar o SQL(LIKE). Ex. public function search_character($string) { $init = module::tga(); $q0 = "SELECT name FROM WHERE name LIKE %:charname%"; $t1 = $init->prepare($q0); $t1->bindParam(":charname", $string, PDO::PARAM_STR); } Porém ele retorna um erro de sintaxe, alguém tem uma opinião/solução?
HappyHippyHippo Posted October 17, 2013 at 06:22 PM Report #529472 Posted October 17, 2013 at 06:22 PM ao fazeres dessa forma o SQL resultante será, (exemplo com $string = "string" : SELECT name FROM WHERE name LIKE %'string'% como vês, o erro é claro. necessitas que os caracteres '%' façam parte da string do parâmetro : public function search_character($string) { $init = module::tga(); $q0 = "SELECT name FROM WHERE name LIKE :charname"; // <------- $t1 = $init->prepare($q0); $t1->bindParam(":charname", '%'.$string.'%', PDO::PARAM_STR); // <------- } IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
munkbozz Posted October 17, 2013 at 06:33 PM Author Report #529474 Posted October 17, 2013 at 06:33 PM (edited) Obrigado pela resposta em curto prazo. Eu até pensei nessa solução mas pareceu ser me um pouco arcaíca, julguei haver já um método próprio da extensão PDO para realizar esse tipo de query. Entretanto será: $string = '%'.$string.'%'; Edited October 17, 2013 at 06:41 PM by munkbozz
HappyHippyHippo Posted October 17, 2013 at 06:47 PM Report #529477 Posted October 17, 2013 at 06:47 PM Obrigado pela resposta em curto prazo. Eu até pensei nessa solução mas pareceu ser me um pouco arcaíca, julguei haver já um método próprio da extensão PDO para realizar esse tipo de query. arcaíca ? como seria possível o PDO gerar/gerir essa criação ? isso é impossível 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
munkbozz Posted October 17, 2013 at 07:02 PM Author Report #529483 Posted October 17, 2013 at 07:02 PM arcaíca ? como seria possível o PDO gerar/gerir essa criação ? isso é impossível Sim. ^^
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now