Устранение ошибки Deprecated: function is deprecated in
Deprecated: function is deprecated in – ошибка, связанная с использованием устаревших функций в новых версиях PHP. Эти функции больше не будут использованы в языке, и их следует заменить аналогами. Касается это пользователей PHP 5.3 и выше.
Давайте разберемся, что делать дальше.
Deprecated: Function ereg() is deprecated in
Функция для работы с регулярными выражениями ereg() устарела. Вместо неё следует использовать аналогичную функцию preg_match()
Deprecated: Function eregi() is deprecated in
Как видите, в примере выше подставлен параметр «i», говорящий о том, что искать без учета регистра. Применение этого параметра в preg_match() заменяет устаревшую функцию eregi().
Deprecated: Function ereg_replace() is deprecated in
Больше функция ereg_replace() поиска и замены учитывая регистр, работать не будет. Необходимо заменить её на аналогичную функцию — preg_replace(). Синтаксис, на примере очистки строки от лишних пробелов:
Deprecated: Function eregi_replace() is deprecated in
eregi_replace() – функция поиска и замены с без учета регистра. В примере выше осуществлялся поиск по строке, в котором учитывается регистр. Используйте параметр «i» в функции preg_replace() для работы без учета регистра.
Deprecated: Function split() is deprecated in
Функции разбивки строки на массив split() – с учетом регистра, spliti() – без учета регистра, теперь считаются устаревшими. Используйте аналог preg_split(), а если необходимо без учета регистра, то preg_split() с параметром «i». Пример, без учета регистра:
Deprecated: Function session_register() is deprecated in
Используйте супер глобальный массив $_SESSION для передачи значения переменной в сессию
Было:
Теперь:
Deprecated: Function session_unregister() is deprecated in
Также необходимо приметь массив $_SESSION вместе с функцией unset().
Было:
Теперь:
Deprecated: Function session_is_registered() is deprecated in
Функция session_is_registered(), проверяющая наличие переменной в сессии, устарела. Используйте супер глобальный массив $_SESSION
Было:
Теперь:
Deprecated: Function mysql_db_query() is deprecated in
Функция для подключения БД и отправки запроса mysql_db_query() теперь подлежит замене. Необходимо использовать mysql_select_db() для выбора базы и mysql_query() для отправки запроса в эту БД.
Было:
Теперь:
Deprecated: Function mysql_escape_string() is deprecated in
Вместо данной функции используйте аналог — mysql_real_escape_string(), который может принимать дополнительные параметры для экранирования специальных символов. И главное, эта функция экранирует с учетом текущей кодировки.
Давайте разберемся, что делать дальше.
Deprecated: Function ereg() is deprecated in
Функция для работы с регулярными выражениями ereg() устарела. Вместо неё следует использовать аналогичную функцию preg_match()
if (preg_match("/zzz/i", "Сообщаем Вам zzz")) {
echo "Фраза zzz присутствует в строке";
} else {
echo "Нет";
}
Deprecated: Function eregi() is deprecated in
Как видите, в примере выше подставлен параметр «i», говорящий о том, что искать без учета регистра. Применение этого параметра в preg_match() заменяет устаревшую функцию eregi().
Deprecated: Function ereg_replace() is deprecated in
Больше функция ereg_replace() поиска и замены учитывая регистр, работать не будет. Необходимо заменить её на аналогичную функцию — preg_replace(). Синтаксис, на примере очистки строки от лишних пробелов:
<?php
$perr = 'Тестовая строка';
$perr = preg_replace('/\s\s+/', ' ', $perr);
// Получим 'Тестовая строка'
echo $perr;
?>
Deprecated: Function eregi_replace() is deprecated in
eregi_replace() – функция поиска и замены с без учета регистра. В примере выше осуществлялся поиск по строке, в котором учитывается регистр. Используйте параметр «i» в функции preg_replace() для работы без учета регистра.
$perr = preg_replace('/\s\s+/i', ' ', $perr);
Deprecated: Function split() is deprecated in
Функции разбивки строки на массив split() – с учетом регистра, spliti() – без учета регистра, теперь считаются устаревшими. Используйте аналог preg_split(), а если необходимо без учета регистра, то preg_split() с параметром «i». Пример, без учета регистра:
<?php
// разделяем предложение по произвольному числу запятых и пробелов,
// которые включают в себя " ", \r, \t, \n и \f
$fraza = preg_split("/[\s,]+/i", "На улице тепло, солнце");
?>
Deprecated: Function session_register() is deprecated in
Используйте супер глобальный массив $_SESSION для передачи значения переменной в сессию
Было:
$a_login = "Admin";
session_register("a_login");
Теперь:
$a_login = "Admin";
$_SESSION["a_login"] = $a_login;
Deprecated: Function session_unregister() is deprecated in
Также необходимо приметь массив $_SESSION вместе с функцией unset().
Было:
session_unregister("name");
Теперь:
unset($_SESSION['name']);
Deprecated: Function session_is_registered() is deprecated in
Функция session_is_registered(), проверяющая наличие переменной в сессии, устарела. Используйте супер глобальный массив $_SESSION
Было:
if(session_is_registered($test))
Теперь:
if(isset($_SESSION['test']))
Deprecated: Function mysql_db_query() is deprecated in
Функция для подключения БД и отправки запроса mysql_db_query() теперь подлежит замене. Необходимо использовать mysql_select_db() для выбора базы и mysql_query() для отправки запроса в эту БД.
Было:
mysql_db_query("bd_site", "SELECT * FROM users");
Теперь:
$link = mysql_connect('localhost', 'user', 'pass')
mysql_select_db(' bd_site ', $link);
mysql_query("SELECT * FROM users");
Deprecated: Function mysql_escape_string() is deprecated in
Вместо данной функции используйте аналог — mysql_real_escape_string(), который может принимать дополнительные параметры для экранирования специальных символов. И главное, эта функция экранирует с учетом текущей кодировки.
16 комментариев