phpday 2025 - Call For Papers

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_stringЭкранирует строку для использования в mysql_query

Внимание

Функция устарела в PHP 4.3.0, а в PHP 7.0.0 функцию удалили вместе с модулем MySQL. Вместо этой функции пользуются модулями MySQLi или PDO_MySQL, которые активно развиваются. Смотрите также раздел «MySQL: выбор API». Разработчикам доступны следующие альтернативы:

Описание

mysql_escape_string(string $unescaped_string): string

Функция экранирует unescaped_string таким образом, после чего её можно безопасно использовать в mysql_query(). Данная функция устарела.

Функция идентична mysql_real_escape_string(), исключая тот факт, что mysql_real_escape_string() принимает параметром ещё и идентификатор соединения и экранирует строку с учётом текущей кодировки. mysql_escape_string() не делает этого и результат работы не зависит от кодировки, в который вы работаете с БД.

Список параметров

unescaped_string

Экранируемая строка.

Возвращаемые значения

Возвращает экранируемую строку.

Примеры

Пример #1 Пример использования mysql_escape_string()

<?php
$item
= "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>

Результат выполнения приведённого примера:

Escaped string: Zak\'s Laptop

Примечания

Замечание:

mysql_escape_string() не экранирует символы % и _.

Смотрите также

  • mysql_real_escape_string() - Экранирует специальные символы в строках для использования в выражениях SQL

Добавить

Примечания пользователей 1 note

up
7
PHPguru
9 years ago
You can use this function safely with your MySQL database queries if and only if you are sure that your database connection is using ASCII, UTF-8, or ISO-8859-* and that the backslash is your database's escape character. If you're not sure, then use mysqli_real_escape_string instead. This function is not safe to use on databases with multi-byte character sets.

The only benefit of this function is that it does not require a database connection.
To Top