How prepare statement with bindvalue and %?

2019-02-27 12:39发布

Yes I have a issue when i try to use bindvalues on the variables that looked like this before:

users.firstname LIKE '$firstname%'

Now it looks like this:

users.firstname LIKE ':firstname%'

But it doesn't work, also tried this:

users.firstname LIKE :firstname%

And got some syntax error..

What is the correct solution for this? I also thought adding the % in the bindValue(:firstname, $firstname%) but i need to use the :firstname in other places too that should not have the %..

Help thank you

1条回答
你好瞎i
2楼-- · 2019-02-27 13:19

Ok, add the % to the bound value:

users.firstname LIKE :firstname

And then

$stmt->bindValue(':firstname', $firstname . '%');

But, since you're saying you need to use :firstname in other places, just name this instance something different:

users.firstname LIKE :firstnamewild

And then

$stmt->bindValue(':firstnamewild', $firstname . '%');
查看更多
登录 后发表回答