Использование stripslashes после mysql_real_escape_string

Мне нужно избегать ввода данных в форму. Я использовал mysql_real_escape_string, чтобы избежать значения, но он добавляет много слэшей со значением внутри базы данных, причина в том, что у меня есть апостроф в моем вводе, скажем, exp.

Теперь, чтобы избавиться от косой черты, я использую stripslashes после mysql_real_escape_string, а затем данные успешно попадают в базу данных и не видят никакого апострофа со значением в базе данных.

$name = mysql_real_escape_string(trim($_POST['userame'])); $name = stripslashes(stripslashes($userame)); 

// тогда данные успешно отправляются в db без апострофа

Я просто хотел подтвердить, это правильный способ избежать входного значения? благодаря

Даян

  1. Отключение магических цитат
  2. mysql_real_escape_string(stripslashes($_POST['username']));

Нет, это не так. Проверьте свой php.ini для параметра magic_quotes_gpc . Если вы не можете отключить его, используйте stripslashes ПЕРЕД использованием mysql_real_escape_string . Ссылка имеет способ $_COOKIE ее глобально от $_POST , $_GET и $_COOKIE . Или даже лучше, используйте подготовленные заявления с PDO

Если у вас включен magic_quotes_gpc, вы должны использовать функцию stripslashes () перед побегом – иначе вы выйдете дважды, при этом загрузите косые черты.

http://se.php.net/manual/en/function.mysql-real-escape-string.php