登录时更新db行

时间:2012-10-26 23:00:11

标签: php

我有以下代码:其目的很明确=>在登录更新数据库中为totallogins +1登录并记录最后一次登录的时间。唯一的缺点是它无法工作。

<?php

date_default_timezone_set('Europe/Amsterdam'); 

if (isset($_POST['formsubmitted'])) {
$Timesloggedin = "SELECT * FROM members.Timesloggedin WHERE Email='$email'";
$time = date("Y-m-d H:i:s"); 
$query1 = "UPDATE members SET Timesloggedin = $Timesloggedin + 1, Lastloggedin = $time WHERE Email ='$email'";

$result_insert_loggedins = mysql_query($query1);
if (!$result_insert_loggedins) {
    echo 'Query failed';
}

if (mysql_affected_rows($dbc) == 1) 
{ 
    //If the Insert Query was successfull.
} 
?>

2 个答案:

答案 0 :(得分:1)

你可以使用

Timesloggedin = Timesloggedin + 1

而不是变量。

答案 1 :(得分:1)

$query1 = "UPDATE members SET Timesloggedin = Timesloggedin + 1, Lastloggedin = '$time' WHERE Email ='$email'";

请记住,$ time是一个字符串,需要引号。另外,$ Timesloggedin将是一个对象(如果你实际运行了你没有的查询),所以只需删除$,它就会增加字段。

此外,您甚至不需要第一个查询。你也不需要日期计算。只需使用mysql的NOW()......

$query1 = "UPDATE members SET Timesloggedin = Timesloggedin + 1, Lastloggedin = NOW() WHERE Email ='$email'";