2015-09-07 40 views
-1

我需要更新数据库中的“上次看到”记录,每次用户登录时都会创建us_lastseen记录(类型为DATETIME),但没有肯定的结果。php:无法更新数据库上的“lastseen”记录

试图其类型更改为VARCHAR后,既没有记录实际时间,所以我猜的错误是在一段代码:

$now = date("Y-m-d H:i:s"); 
$lastSeen= mysqli_query($con, "UPDATE ws_users SET us_lastseen=$now WHERE us_id=$user_id"); 

我也曾尝试:

$lastSeen= mysqli_query($con, "UPDATE ws_users SET us_lastseen=GETDATE() WHERE us_id=$user_id"); 
+0

你使用MySQL? –

+0

是的,PHP和MySQL – Biomehanika

+2

尝试'echo“更新ws_users SET us_lastseen = GETDATE()WHERE us_id = $ user_id”'并复制mysql查询界面中的结果以确保问题不在查询中。 –

回答

4

使用DATETIME型和下面的代码:

$lastSeen= mysqli_query($con, "UPDATE ws_users SET us_lastseen=NOW() WHERE us_id=$user_id"); 

或者添加引号:

$now = date("Y-m-d H:i:s"); 
$lastSeen= mysqli_query($con, "UPDATE ws_users SET us_lastseen='$now' WHERE us_id=$user_id"); 

你应该调试查询并执行它,看它是否抛出错误(使用phpMyAdmin即)

+0

谢谢。我总是回应查询并在遇到问题时尝试Phphmyadmin,但是此操作是在打开会话并根据他/她的角色将用户移动到特定面板的文件上进行的。所以它不会停止在那里。 FIREBUG都没有存储回显结果(即使在激活KEEP选项时),所以我没有发现任何其他的可能性来调试它。 – Biomehanika

+0

工作。我在5分钟内打勾。 – Biomehanika

+1

谢谢。您可以''退出;'在'echo'后面查看您的查询 – Brewal