делаю учебный сайт
есть страница регистрации с формами ввода (имя, фамилия, mail, пароль)
на клиенте с помощью javascript проверяю корректность ввода
потом ещё раз перед отправкой в БД делаю проверку на корректность с помощью php
если введены символы ожидаемые от пользователя выполняю запросы в БД
например, вот, проверяю нет ли в БД пользователя с таким же email-ом:
$mail = mysql_escape_string($mail);
$sql = mysqli_prepare($db, "SELECT * FROM users WHERE mail = ?");
mysqli_stmt_bind_param($sql, 's', $mail);
mysqli_stmt_execute($sql);
Где то прочитал, что не обязательно делать экранирование:
$mail = mysql_escape_string($mail);
Если сделал привязку параметров:
$sql = mysqli_prepare($db, "SELECT * FROM users WHERE mail = ?");
mysqli_stmt_bind_param($sql, 's', $mail);
Верно ли это?
Нет ли ещё какой нибудь возможности SQL-инъекции?