Использование функции mysqli_real_escape_string для безопасного ввода данных в базу
Функция mysqli_real_escape_string() используется для экранирования специальных символов в строке, чтобы эти символы можно было безопасно использовать в SQL-запросах. Она принимает два аргумента: соединение с базой данных и строку, которую необходимо экранировать.
Пример использования функции mysqli_real_escape_string():
php
// Соединение с базой данных
$mysqli = new mysqli("localhost", "username", "password", "database");
// Проверка соединения
if ($mysqli->connect_error) {
die("Ошибка подключения: " . $mysqli->connect_error);
}
// Исходная строка, которую необходимо экранировать
$string = "I'm a string with 'special' characters \";
// Экранирование строки
$escaped_string = $mysqli->real_escape_string($string);
// Использование экранированной строки в SQL-запросе
$query = "SELECT * FROM table WHERE column = '$escaped_string'";
// Выполнение запроса
$result = $mysqli->query($query);
// Обработка результата
while ($row = $result->fetch_assoc()) {
// Вывод данных
echo $row['column'] . "
";
}
// Закрытие соединения с базой данных
$mysqli->close();
В данном примере мы создаем соединение с базой данных, экранируем строку при помощи функции mysqli_real_escape_string() и затем используем экранированную строку в SQL-запросе. Это позволяет безопасно использовать специальные символы, такие как одинарные кавычки и обратные слеши, внутри SQL-запроса, не вызывая ошибки в выполнении запроса.
Важно отметить, что использование функции mysqli_real_escape_string() не является полной защитой от SQL-инъекций. Рекомендуется также использовать подготовленные выражения (prepared statements) для обеспечения более надежной защиты от атак.