その間、私はPHP.net#mysqli_real_escape_stringmysqli->real_escape_string
で について読んでいました。いくつかの行、それらが何を意味するのか、使用中にどの文字セットが安全かを理解できませんでしたreal_escape_string
注意 セキュリティ: デフォルトの文字セット
mysqli_real_escape_string() に影響を与えるには、文字セットをサーバー レベルで設定するか、API 関数 mysqli_set_charset() を使用して設定する必要があります。詳細については、文字セットの概念セクションを参照してください。
誰かが私を説明してくれませんか、安全かどうか: utf-8
-default latin
ここに状況を説明するコードスニペットがありますhttp://in1.php.net/manual/en/mysqli.real-escape-string.php
これは何を意味するのでしょうか ?
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
// Will not affect $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8");
// Will not affect $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8");
// But, this will affect $mysqli->real_escape_string();
$mysqli->set_charset('utf8');
?>
ありがとう