我是php的新手,希望这个代码在mysql中完美运行,但拒绝在我的php代码中工作。下面是所说的mysql查询...
set @maxDate = (select MAX(login) from logs where userId=3 );
set @currentDateTime = now(); set @diff = timestampdiff(minute, @maxDate, @currentDateTime); set @duraMin = @diff DIV 60;
set @duraSec = @diff MOD 60; set @duration = concat(@duraMin,'min',' ',@duraSec,'sec');
UPDATE logs SET logout= @currentDateTime, duration=@duration WHERE userId = 3 AND login=@maxDate;
如果能在这里得到帮助,我将非常感激。感谢
修改 上面代码背后的想法是,在我的数据库中有一个名为Logs的表,其中包含userID,login,logout和duration列。每次用户登录时,我都会在Logs表中插入userID和登录日期时间,其余字段为null(注销和持续时间)。 当他退出时,在表上进行更新,其中最近的登录“MAX(登录)WHERE userID ='current_user_Id'”具有相应的用户ID,并且插入了注销日期时间,并且计算并插入了相应的持续时间。 我会感激任何帮助,甚至更好的主意。谢谢
答案 0 :(得分:0)
在存储过程中编写此代码并在PHP中调用它。它可以帮助您轻松快速地运行此查询
答案 1 :(得分:0)
从PHP开始,您需要connect to MySql.
然后您可以使用与query the selected database的连接。
PHP发送给MySQL的查询是一个字符串。如果查询成功,则会在ac select
查询的情况下返回row count >=0
。
在您的情况下,更新查询; 计数返回:
-1
- >查询中的错误
0
- >没有更新/没有发现任何变化
>0
- >受影响的行
PHP不会告诉您查询失败的原因。它只是传递字符串并为您提供MYSQL的反馈。