0

私は次のコードを持っています:その目的は非常に明確です=> totalloginsの+1ログインでログイン更新dbで、最後のログインの時間を記録します。唯一の欠点は、それが機能しないことです。

<?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 に答える