Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新php pdo中的上次登录会话_Php_Mysql_Session_Pdo - Fatal编程技术网

更新php pdo中的上次登录会话

更新php pdo中的上次登录会话,php,mysql,session,pdo,Php,Mysql,Session,Pdo,我使用此代码更新用户的上次登录时间,并在用户单击“注销”时结束会话。从那里,用户将被引导到index.php页面。上次登录时间现在正在更新。请帮忙 <?php session_start(); $db_host = "localhost"; $db_user = "root"; $db_pass = ""; $db_name = "account"; try { $db_conn =

我使用此代码更新用户的上次登录时间,并在用户单击“注销”时结束会话。从那里,用户将被引导到index.php页面。上次登录时间现在正在更新。请帮忙

<?php
session_start();  

$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "account";

     try {
     $db_conn = new PDO("mysql:host={$db_host};dbname={$db_name}",$db_user,$db_pass);
     $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 $stmt = $db_conn->prepare("UPDATE users SET lastlogin = :lastlogin  WHERE ID = :ID");

       
$stmt->bindParam(':lastlogin', $time); 
$stmt->bindParam(':ID', $_SESSION['ID']); 


$time = date('Y-m-d h:i:s');
//$ID = $_SESSION['ID'];

    $stmt->execute();
    session_destroy();
    header('location:index.php');   

    }
catch(PDOException $e)
    {
    echo "Error:" . $e->getMessage();
    }
$db_conn = null;

?> 

在使用$time之前,您需要定义它:

$time = date('Y-m-d h:i:s');
$id = $_SESSION['ID'];
$stmt->bindParam(':lastlogin', $time); 
$stmt->bindParam(':ID', $id);

请确保您在会话['ID']中具有值。

我这样做了,效果很好

<?php
session_start();  

$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "account";
     try {
       $time = date('Y-m-d h:i:s');
       $username = $_SESSION['username'];

     $db_conn = new PDO("mysql:host={$db_host};dbname={$db_name}",$db_user,$db_pass);
     $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 $stmt = $db_conn->prepare("UPDATE users SET lastlogin = :lastlogin WHERE username = '$username'");
 $stmt->bindParam(':lastlogin', $time); 
 //$stmt->bindParam(':username', $_SESSION['username']); 
 $stmt->execute();
   session_destroy();
   header('location:index.php');    


    }
catch(PDOException $e)
    {
    echo "Error:" . $e->getMessage();
    }
$db_conn = null;


?> 


为什么不利用mysql的时间呢
now()
。当答案对你有用时,你也应该开始接受答案。祝你好运,我正在处理另一个问题。医生不支持这种说法。请看例子1。你能指出这个答案与原来的帖子有什么不同吗?这将有助于读者谁可能能够从中学习,在未来。(你也可以通过点击左边的勾号来接受这个答案——在这里接受自己的答案也可以)。