Требуется ли функция mysql_real_escape_string() для подготовленных операторов?
При использовании подготовленных операторов, как в данном запросе:
$sql = $db->prepare('select location from location_job where location like ?');
$sql->bind_param('s', $consulta);
$sql->execute();
$sql->bind_result($location);
функция mysql_real_escape_string() не требуется, поскольку подготовленные операторы обеспечивают безопасный способ предотвращения атак SQL-инъекцией путем экранирования любых специальных символов во входных данных.
Одним из предложений по улучшению запроса является использование знака '?' заполнитель, позволяющий более удобно передавать параметры через метод выполнения:
$sql->execute([$consulta]);
Однако не забудьте очистить ввод пользователя с помощью htmlspecialchars () перед его отображением, чтобы предотвратить уязвимости межсайтового скриптинга.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3