PHP/MySQL: экранированная строка не вставляется в таблицу mysql после экранирования

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

$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);

ПРИМЕЧАНИЕ: я проверил, что строка действительно экранирована здесь. Если введено "Канада", echo $ 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'без слешей???

0 ответов

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