mySQLiでprepare文を使用している場合でも、エスケープやユーザ入力のチェックは必要ですか?私は、コード持っていたのであれば、たとえば:PHP&mySQLi:prepare文を使用する際に、ユーザ入力を確認する必要がありますか?
$members = new mysqli("localhost", "user", "pass", "members");
$r_email = $_POST['r_email'];
$check = $members->prepare("select user_id from users where email = ?");
$check->bind_param('s', $r_email);
$check->execute();
$check->store_result();
if ($check->num_rows > 0) {
echo "user already registered";
$check->close();
}
$members->close();
を私は$r_email = $_POST['r_email']
$r_email = mysql_real_escape_string($_POST['r_email']);
に感謝を変更する必要があります。
可能な複製[バインドされたパラメータを持つMySQLの準備クエリは安全ですか?](http://stackoverflow.com/questions/1561586/are-php-mysqli-prepared-queries-with-bound-parameters-secure) – outis