Как передать апострофии из текстовых областей в MySQL с помощью PHP
У меня есть текстовая область, в которую пользователи также добавляют заметки. На следующей странице я использую$_POST[Comments]
чтобы показать, что было напечатано. У меня есть кнопка редактирования, чтобы вернуться и посмотреть, что было набрано, и отредактировать заметки, но когда я показываю$_POST[Comments]
это показывает все до апострофа.
Пример:
Первоначально напечатано:Let's try this.
При редактировании:Let
Теперь, когда я передаю его на сервер для добавления SQL, я использую следующую функцию для защиты от внедрения SQL
function keepSafe($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if (!is_numeric($value)) {
$value = "'" . mysqli_real_escape_string($value) . "'";
}
return $value;
}
Далее я использую форматирование ввода для вставки SQL.
$Comments = str_replace("\n","<br />",$_POST['CustComments']);
$Comments = keepSafe($_POST['Comments']);
Мне нужно иметь возможность видеть все апострофы в разделе заметок при редактировании перед отправкой. И я хочу убедиться, что когда я отправляю, это безопасный код, предотвращающий инъекцию SQL.