2012-10-30 63 views
0

我有一個表存儲登錄信息,如日期,時間等。每當用戶登錄到我的網站時,我將這些信息存儲在表上。我還想告訴他他以前的登錄是什麼時候,所以我需要向他展示最後的第二行信息。
我該怎麼做PDO?我寫了這段代碼,但它返回最後一條記錄,而不是我需要的。在PDO中提取特定的返回行信息

$sql2 = "SELECT date,hour FROM tbl_logins WHERE uid = ? ORDER BY id DESC LIMIT 1"; 
$q = $db->prepare($sql2); 
$q->execute(array($_SESSION['uid'])); 
$r = $q->fetch(); 
$fdate = $r['date']; 
$hour = $r['hour']; 
+0

請給一些示例數據存儲在tbl_logins爲用戶.. – Anam

+0

@Enam它很明顯。用戶ID,登錄時間,登錄日期 –

+0

您需要檢索最後登錄信息,然後才能將當前登錄信息存儲到info..with無法更改當前的代碼或您需要修改一些ur代碼。 thx – Anam

回答

0
$r = $q->fetch(); 

只應該返回一行。我猜?你的SESSION var不正確,或者你的SQL有錯誤。 PDO運行在什麼模式?例外?默認?

+0

沒有任何錯誤。它運行在默認模式下。 –

0

簡單的答案:確認後登錄,檢索上次登錄信息:

$sql2 = "SELECT fdate,hour FROM tbl_logins WHERE uid = ? ORDER BY id DESC LIMIT 1"; 
$q = $db->prepare($sql2); 
$q->execute(array($_SESSION['uid'])); 
$r = $q->fetch(); 
$fdate = $r['fdate']; 
$hour = $r['hour']; 

後:

運行更新tbl_logins代碼來存儲當前登錄的日期和時間。