Как правильно делать подготовленные запросы?

Хотел бы узнать правильно ли сделан запрос? И я так понял это 100% защита от sql инъекций?
$email = $_POST['r_email'];
$check_email = $db->prepare("SELECT * FROM `users` WHERE `email` LIKE ?"); 
$check_email->bind_param('s', $email);
$check_email->execute();
$res_email = $check_email->get_result();
if ( $res_email->num_rows >= 1 ) {
    $errors[] = 'Данный Email занят!';
}
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега PHP
правильно ли сделан запрос?

Нет, для проверки по точному совпадению следует использовать оператор "=", а не "LIKE".

И я так понял это 100% защита от sql инъекций?

Нет, входные данные от пользователь всегда необходимо валидировать/очищать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы