Помощь Соединение с MySQL в DLE

Тема в разделе "DLE", создана пользователем webarter, 15 мар 2014.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. webarter

    webarter Создатель

    Регистр.:
    17 май 2008
    Сообщения:
    22
    Симпатии:
    6
    Версия DLE: 10.1

    Предыстория: есть модуль каталога (не мой), он добавляет новые элементы каталога в свою таблицу в БД DLE, где есть auto increment поле с ID. Мне сразу после добавления нужно узнать этот ID, потому что на следующей странице нужно вывести ссылку с этим ID.

    Нашел такую функцию: mysql_insert_id()

    В качестве параметра требует:
    link_identifier
    Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.


    Без параметра пробовал - видимо, это соединение закрывается еще в функции класса $db, а мне нужно сделать mysql_insert_id() после вызова $db->query в файле модуля. То есть функция возвращает NULL, т.к. не может связаться с базой.

    Собственно вопрос: какой параметр передать как это "соединение MySQL" в DLE?

    И если не так, то каким образом вытащить последнюю добавленную в таблицу строку запросом SELECT (в рамках синтаксиса DLE)? Чтобы можно было присвоить это массиву и оттуда взять вроде $row['id'] ?

    Помогите :facepalm:
     
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.034
    Симпатии:
    2.035
    Есть уже в ДЛЕ такая функция:
    PHP:
    $db->insert_id();
    Идентификатор соединения:
    PHP:
    $db->db_id;
     
    webarter нравится это.
Статус темы:
Закрыта.