如何在保存到 mysql 数据库之前将反斜杠 () 插入包含特殊字符的字符串



我试图在我的php脚本中使用addslashes()命令。但是此函数不会在字符串中的特殊字符之前附加反斜杠()。

有没有其他方法可以在字符串中的特殊字符之前插入\?

这是我的代码:

 function save_params() {
 global $order_status;
 $args = func_get_args();
 foreach ($args as $k => $param)
  if (isset($_REQUEST[$param])) 
$order_status[$param] = mysql_real_escape_string("$_REQUEST[$param]");
  else
   $order_status[$param] = null;
   }

从上面的代码来看,title 是用户提供的字符串。这可能包含特殊字符。我提供了mysql_real_escape字符串来转义其中的特殊字符。直到这里都很好。但问题是我正在使用 javascript 工具提示将鼠标悬停在产品的标题上。工具提示功能如下:

   class="notfree{$g->id}"  
   onmouseover = "tooltip.show('{$w->title}');" 
   onmouseout="tooltip.hide();"

$w->title 是我们使用特殊字符串保存到数据库中的标题。工具提示显示函数未显示标题中带有特殊字符的悬停。所以我想在进入数据库之前为"标题"中的特殊字符添加反斜杠。

请帮助我..我被困在这里

使用 mysqli_real_escape_string()mysqli::real_escape_string()

或者更好的是,将准备好的语句与 mysqliPDO 一起使用。

使用 mysqli_real_escape_String - http://php.net/manual/en/mysqli.real-escape-string.php .最好的方法是将预准备语句与 mysqli 或 PDO 一起使用。

最新更新