我有以下代码:其目的很明确=>在登录更新数据库中为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.
}
?>
答案 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'";