类似SQLl的字符串在php mysql中不起作用,包含单引号

类似SQLl的字符串在php mysql中不起作用,包含单引号,php,mysqli,sql-like,single-quotes,Php,Mysqli,Sql Like,Single Quotes,当字符串包含单引号“, 下面是我的php代码 $keysearch = "St.Joseph's"; // Searching keyword containing single quotes $sql =mysqli_query("select id,name from tbl where name LIKE '%$keysearch%'"); 它不返回结果, 如何搜索包含单引号的字符串? 除了“LIKE”之外,还有什么有效的操作符可以比较DB中的单引号值吗?使用PHP的addsla

当字符串包含单引号

下面是我的php代码

  $keysearch = "St.Joseph's"; // Searching keyword containing single quotes
  $sql =mysqli_query("select id,name from tbl where name LIKE '%$keysearch%'");
它不返回结果,
如何搜索包含单引号的字符串?
除了“LIKE”之外,还有什么有效的操作符可以比较DB中的单引号值吗?

使用PHP的
addslashes()
函数,如下所示

$sql =mysqli_query($con,"select id,name from tbl where name LIKE '%".addslashes($keysearch)."%'");

了解预先准备好的语句使用预先准备好的语句,你就再也不用担心麻烦的引用问题了。使用预先准备好的语句或转义字符。如果您计划通过用户输入进行搜索,您的代码将被视为失败。