Как вставить обратную косую черту (\) в строку со специальными символами в ней перед сохранением в БД mysql

Я попытался использовать команду addlashes() в моем сценарии php. Но эта функция не добавляет backslash() перед специальными символами в строке.

Есть ли другой способ вставить \ перед специальными символами в строке?

Вот мой код:

 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 - это заголовок, который мы сохранили в БД со специальными строками. Функция Tooltip.show не отображает наведение со специальными символами в заголовке. поэтому я хочу добавить обратную косую черту для специальных символов в "заголовке" перед входом в базу данных.

Пожалуйста, помогите мне.. я застрял здесь

2 ответа

Использование mysqli_real_escape_string() или же mysqli::real_escape_string(),

Или еще лучше, используйте подготовленные заявления с mysqli или же PDO,

Используйте mysqli_real_escape_String - http://php.net/manual/en/mysqli.real-escape-string.php. Лучший способ - использовать подготовленные операторы с mysqli или PDO

Другие вопросы по тегам