我如何从php session(userid)获取字段值以在mysql触发器中使用它

我的触发器:

 BEGIN
 IF NEW.nombre <> OLD.nombre THEN
        INSERT INTO socios_history (socio_id,tabla,campo, old_value, new_value,lstuser,updated) VALUES (old.socio_id,'usuarios','nombre',old.nombre,new.nombre,XXXXX,now());
    END IF;
 IF NEW.email <> OLD.email THEN
        INSERT INTO socios_history (socio_id,tabla,campo, old_value, new_value,lstuser,updated) VALUES (old.socio_id,'usuarios','email',old.email,new.email,XXXXX,now());
    END IF;
END


XXXXXX将是$_SESSION["userid"];中的用户ID

最佳答案

我不确定您的意思。如果您可以稍微解决一下问题,那就太好了。到目前为止,您想要从会话中检索存储的值。

在登录期间,您基本上应该已经将用户名存储到会话变量中:

....mysql query checking for login
if login success
$_SESSION['userid'] = $username;


然后在触发器期间检索它,为其创建变量

$userid = $_SESSION['userid'];

IF NEW.nombre <> OLD.nombre THEN INSERT INTO socios_history (socio_id,tabla,campo, old_value, new_value,lstuser,updated) VALUES (old.socio_id,'usuarios','nombre','old.nombre','new.nombre','$userid',now());

关于php - 如何将php session 值转换为mysql触发器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20779182/

10-12 00:30
查看更多