我有一个搜索字段,用户可以在其中输入搜索词。我有一些带有'的单词,如果输入,搜索结果不会显示它们。我正在使用PDO /准备好的语句。
是否可以安全地在搜索中包含“?”
我认为问题出在这里,我正在从控制器传递数据,即:filter_var函数
$searchtext = filter_var($_GET['searchtext'], FILTER_SANITIZE_STRING);
我尝试使用FILTER_FLAG_NO_ENCODE_QUOTES
,但现在搜索根本不起作用。
答案 0 :(得分:0)
您正在破坏FILTER_SANITIZE_STRING
的输入:
var_dump(filter_var("O'Brian", FILTER_SANITIZE_STRING));
string(11) "O'Brian"
摆脱它,如果您正确使用准备好的语句,则根本不需要它。