我需要在数据库中搜索属性为?
的记录。
当我构造类似于下面的查询时,它也希望传入一个参数。
select id FROM / * table * / WHERE fullname = '?' AND ......
这有什么简单的方法吗?我试过用\?而是在字符串中,但结果相同。
感谢您提出的建议,问题是该查询被传递到软件的另一部分以推送到数据库,并且正在努力处理“?”。
答案 0 :(得分:1)
如果在PDO中准备好声明;你可以试试这个:
$statement = $connection->prepare( "select id FROM tablename WHERE fullname = ? AND ..";
$statement->bindParam( 1, '?', PDO::PARAM_STR );
?
。答案 1 :(得分:0)
尝试使用like
..
select id FROM / * table * / WHERE fullname like '%?%' AND ......
答案 2 :(得分:0)
您可以在子句中使用LIKE %%
比较功能来匹配所需列中的?
。通过这种方式,您将找到包含输入字符串的匹配项,而不是使用相等比较运算符
select id FROM / * table * / WHERE fullname LIKE '%?%' AND ......
答案 3 :(得分:0)
尝试
select id FROM / * table * / WHERE fullname LIKE '%?%%' ESCAPE '?';