Триггеры MySQL - Как перехватить внешние веб-переменные? (например, веб-имя пользователя, IP) - PullRequest
1 голос
/ 30 апреля 2010

Я хочу создать контрольный журнал для базы данных моего веб-приложения PHP (например, захватывать вставки, обновления, удаления).

Кажется, что триггеры MySQL - это просто вещь, но как мне получить IP-адрес и имя пользователя в Интернете (в отличие от имени пользователя mysql, localhost) пользователя, который вызвал триггер?

Большое спасибо.

1007 * Кен *

P.S. Я работаю с этим примером кода, который я нашел:

DROP TRIGGER IF EXISTS history_trigger $$

CREATE TRIGGER history_trigger
BEFORE UPDATE ON clients
    FOR EACH ROW
    BEGIN
        IF OLD.first_name != NEW.first_name
        THEN
                INSERT INTO history_clients
                    (
                        client_id    ,
                        col          ,
                        value        ,
                        user_id      ,
                        edit_time
                    )
                    VALUES
                    (
                        NEW.client_id,
                        'first_name',
                        NEW.first_name,
                        NEW.editor_id,
                        NEW.last_mod
                    );
        END IF;

        IF OLD.last_name != NEW.last_name
        THEN
                INSERT INTO history_clients
                    (
                        client_id    ,
                        col          ,
                        value        ,
                        user_id      ,
                        edit_time
                    )
                    VALUES
                    (
                        NEW.client_id,
                        'last_name',
                        NEW.last_name,
                        NEW.editor_id,
                        NEW.last_mod
                    );
        END IF;

    END;
$$

Ответы [ 2 ]

0 голосов
/ 04 мая 2012

Текущий пользователь базы данных и IP-адрес можно получить с помощью USER().

0 голосов
/ 03 мая 2010

Вы можете добавить столбцы в таблицу «Клиенты» для IP-адреса и имени пользователя в Интернете, обновляя эти столбцы из своего PHP, а затем регистрируя обновления этих столбцов в триггере так же, как и изменения в любом другом столбце.

Но я думаю, вы уже подумали об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...