1

これに対する答えを何時間も検索しましたが、何も見つかりません...フォームから文字列をエスケープしましたが、一重引用符記号の前にスラッシュが追加されています。ただし、データベースに挿入すると、スラッシュは表示されません???

$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' スラッシュなしで表示されます???

4

0 に答える 0