Я часами искал ответ на этот вопрос, но ничего не нашел …
Я избежал строки из формы, и в ней есть косая черта перед знаком одинарных кавычек. Тем не менее, после вставки в базу данных он не показывает слеш ???
$db = new mysqli($host, $username, $password, $database);
$db->set_charset("utf8");
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$country = $_POST["country"];
$country = $db->escape_string($country);
ПРИМЕЧАНИЕ: я проверил, что строка действительно экранирована здесь. Если ввод «Канада», эхо
$ страна приводит к \ ‘Канаде \’, что правильно.
if ($db->query("INSERT into countries (country) VALUES ('$country')")) {
printf("%d Row inserted.\n", $db->affected_rows);
} else {
printf("Error: %s\n", $mysqli->sqlstate);
}
Теперь, когда я смотрю в таблицу базы данных, запись показывает 'Canada'
без слешей ???
Задача ещё не решена.
Других решений пока нет …