在php中查询mysql变量声明

时间:2016-07-09 18:31:00

标签: php mysql

我是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,并且插入了注销日期时间,并且计算并插入了相应的持续时间。     我会感激任何帮助,甚至更好的主意。谢谢

2 个答案:

答案 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的反馈。

相关问题