0

我有以下代码:它的目的非常明确=>在登录更新数据库时使用+1登录为totallogins并记录最后一次登录的时间。唯一的缺点是它不会工作。

<?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.
} 
?>
4

2 回答 2

1

你可以使用

Timesloggedin = Timesloggedin + 1

而不是变量。

于 2012-10-26T23:03:31.187 回答
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'";
于 2012-10-26T23:03:32.640 回答