Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在mySQL中搜索包含mySQL\u real\u escape\u string()斜杠的名称_Php_Mysql - Fatal编程技术网

Php 在mySQL中搜索包含mySQL\u real\u escape\u string()斜杠的名称

Php 在mySQL中搜索包含mySQL\u real\u escape\u string()斜杠的名称,php,mysql,Php,Mysql,在我的用户表中,我有一个名和姓字段 我也有一个按姓氏搜索的用户,但当有像L'Orange这样的用户在搜索 洛尔 洛尔 洛城 洛城 这段时间不工作 L'O有(这是有道理的,但不是用户会想到的) 那么,我的查询如何解释这一点呢?现在在我的问题中我有 OR (CONCAT(`lName`, ', ', `fName`) LIKE '$term') 我希望搜索lo或l'o能正常工作(我想)有什么理由搜索需要“?你把传入的搜索词应用到mysql\u real\u escape\u字符串上怎么样

在我的用户表中,我有一个名和姓字段

我也有一个按姓氏搜索的用户,但当有像L'Orange这样的用户在搜索

  • 洛尔
  • 洛尔
  • 洛城
  • 洛城
这段时间不工作

  • L'O有(这是有道理的,但不是用户会想到的)
那么,我的查询如何解释这一点呢?现在在我的问题中我有

OR (CONCAT(`lName`, ', ', `fName`) LIKE '$term')

我希望搜索lo或l'o能正常工作(我想)有什么理由搜索需要“?

你把传入的搜索词应用到mysql\u real\u escape\u字符串上怎么样

$term = mysql_real_escape_string($term);
然后


应该有用。用户将必须搜索l'o或l'o,但这应该会起作用。

是否使用addslashes()筛选$term?如果是,他们应该已经添加了所需的斜杠,如果不是,那么这就是您缺少的(顺便说一句,您有一个SQL注入正在等待发生)。顺便说一句,不要使用addslashes(),至少要使用mysql\u real\u escape\u string(),因为addslashes()不会清理所有内容。不,我没有,但这是有道理的…我使用的是mysql\u real\u escape\u string()-毕竟不仅仅是addslashes()。看起来你从上面的第一条评论中偷了东西,但我会把它作为答案,因为它确实起了作用。
OR (CONCAT(`lName`, ', ', `fName`) LIKE '$term')