Перевод кода в функцию

KB
На сайте с 01.09.2012
Offline
14
569

Есть следующий код:


if ($operation_type_int == -1)
{
$operation_type = 'Списание';
}
if ($operation_type_int == 0)
{
$operation_type = 'Информация';
}
if ($operation_type_int == 1)
{
$operation_type = 'Начисление';
}
$date = DateNow();
$db->query( "INSERT INTO `guard_history` (`operation_type`, `operation_type_int`, `add_date`,`from`,`to`,`description`) values ('$operation_type','$operation_type_int', '$date','$from', '$to','$description')" );

Перевёл этот код в отдельную функцию (т.к нужно использовать в разных местах), результат:


Notice: Undefined variable: db in ... eval()'d code on line 272 Fatal error: Call to a member function query() ...

Всю голову уже сломал, ума не приложу почему

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#1

Обьект db надо сделать глобальным.

KB
На сайте с 01.09.2012
Offline
14
#2
Алексей Барыкин:
Обьект db надо сделать глобальным.

Он, вроде бы, и так глобален (Работаю с DLE, объект $db можно использовать в любом файле шаблона)

Поэтому я и не пойму, т.к код функции - на несколько строк выше аналогичного кода вне функции :(

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#3
Поэтому я и не пойму

это заметно...

function my()

{

global $db;

}

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
siv1987
На сайте с 02.04.2009
Offline
427
#4
KoBaL:
Он, вроде бы, и так глобален (Работаю с DLE, объект $db можно использовать в любом файле шаблона)

Он "не глобальный". Он глобальный в тех функциях, в которых его таким объявляют.

KB
На сайте с 01.09.2012
Offline
14
#5

Всем большое спасибо за подсказки! Очень выручили!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий