Перейти к публикации

Рекомендованные сообщения

<? include ('engine/api/api.class.php');

$Res = $db->super_query("Запрос к БД");?>

Нужно сделать один запрос к БД из файла.

Такой файл если создам, будет корректно работать?

Ссылка на сообщение
Поделиться на других сайтах

Нет. Обращаться к апи надо иначе. Только вот запрос будет прекрасно работать и без апи, если конечно мы находимся в среде дле.

Ссылка на сообщение
Поделиться на других сайтах

Я имею ввиду вот что - где-то до этого подключен движок, т.е. новый файл подключается к крону движка?

Тогда просто использовать $db->super_query

А если подключения движка нигде раньше нет, то тогда можно использовать апи. Только тогда класс $db станет одним из атрибутов класса апи. Т.е. типа этого: апи->db->super_query Гляньте для этого исходник апи и всё станет ясно.

Ссылка на сообщение
Поделиться на других сайтах

<? include ('engine/api/api.class.php');

$Res = $dle_api->$db->super_query("Запрос к БД");?>

Так должно работать?

А что лучше к крону дле подключить или крон хостинга использовать. Скрипт вызывать нужно 1 раз в месяц.

Ссылка на сообщение
Поделиться на других сайтах

А что лучше к крону дле подключить или крон хостинга использовать. Скрипт вызывать нужно 1 раз в месяц.

У скрипта нет крона "раз в месяц".

Так должно работать?

должно

Ссылка на сообщение
Поделиться на других сайтах

Сейчас думаю в api создать функцию, а потом только вызывать ее.

В файле engine/api/api.class.php как можно обратиться к БД? Пробую так, но не работает.

function mod($my)

{

$row = $this->db->super_query(...

Ссылка на сообщение
Поделиться на других сайтах

ua1907,

Скрипт вам так и пишет: "Я не работаю"? Смотреть нужно ошибку которую вам выдает PHP интерпретатор.

Ссылка на сообщение
Поделиться на других сайтах

должно

НЕ ДОЛЖНО.

Сравните, что я вам написал:

апи->db->super_query

и что у вас:

$Res = $dle_api->$db->super_query("Запрос к БД");?>

Разницу видите? (моё "апи" = вашему "$dle_api", тут всё верно, а вот дальше..)

Собственноручно обнаруженая ошибка в 10 раз лучще запомниться на будущее, так что смотрите внимательно мой и свой вариант.

ua1907,

Скрипт вам так и пишет: "Я не работаю"? Смотреть нужно ошибку которую вам выдает PHP интерпретатор.

скорее всего скрипт говорит, что метод super_query не определён.

Ссылка на сообщение
Поделиться на других сайтах

Советую кстати внутри класса API ничего не трогать, так как при обновлении Ваши изменения слетят.

Что мешает сделать внешнюю функцию и применить global $dle_api; ?

Ссылка на сообщение
Поделиться на других сайтах

При обновлении вообще все модули слетят. Надо будет заного изменения вносить в исходные файлы. А не работало изначально потомучто, в этом примере лишний символ бакса был перед db. Можно было бы класс api и не править, но так даже симпотичней получилось.

<? include ('engine/api/api.class.php');

$Res = $dle_api->$db->super_query("Запрос к БД");?>

Так должно работать?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...