php - MySQL——更新我的数据库中的登录时间

标签 php mysql sql

我目前正在做一个项目,我需要在数据库中存储成员(member)登录页面的信息。目前,我正在努力存储用户输入其凭据的时间。它不断弹出“Duplicate entry '0000-00-00 00:00:00' for key 'PRIMARY'”,除了为什么我的时间不会作为实际时间处理之外,我明白一切......下面的部分我正在使用的代码...也许有什么问题?或者有没有比我正在做的更好的调用当前时间戳的方法。

    $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE)
or die("Failed to connect");
if(isset($_POST['submit'])) {
    date_default_timezone_set('America/Phoenix');
    $username = mysql_real_escape_string($_POST['userlogin']); 
    $password = mysql_real_escape_string($_POST['userpassword']);
    $today = date("F j, Y, h:i:s A"); 
    $sql = "SELECT * FROM Member WHERE loginName = '".$username."' AND password = '".$password."'"; //checks for user in database
    //--password = SHA2(CONCAT('bar','paz'),512)";
    $result = $mysqli->query($sql) or die($mysqli->error); //shoots an error if something is wrong
    if($result->num_rows < 1) // if the username/password is incorrect then an error message appears
       {
        echo "Invalid username/password combination. Please try again.";
       }
    else
       {
        echo "Welcome."; //Successful
        $today = date("F j, Y, h:i:s A"); 
        header('Location: thankspage.html');
     $sql = " INSERT INTO Login (loginName,loginTime) 
       VALUES ('$username', '$today' ) "; // creates the login time.
    $result = $mysqli->query($sql) or die ($mysqli->error); // shoots an error if i did something wrong.
   }
}   

最佳答案

要么改变日期时间格式

$today = date("F j, Y, h:i:s A");

一个合适的

$today = date("Y-m-d H:i:s");

这是 Codepad 演示

或者完全放弃 $today 并在 MySQL 端使用 NOW()(如果时区设置与 Web 服务器上的相同)

INSERT INTO Login (loginName, loginTime) VALUES ('$username', NOW())
                                                              ^^^^^

旁注:因为您已经在使用 mysqli 考虑学习和使用 prepared statements而不是插入查询字符串,这让您对 sql 注入(inject)敞开大门。

关于php - MySQL——更新我的数据库中的登录时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19761019/

相关文章:

sql - 这不会返回任何内容。为什么?

php - 从 php 5.3 升级到 php 5.5 显示连接错误

php - 基于很少参数的 Laravel 搜索条件

php - 如何使用 cron 作业安排动态功能?

php - 在生产服务器/机器上安装 Zend Server

mysql - 如何在Cube.js中实现间接连接?

mysql运行总计,按日期排序

mysql 优化 - 连接时不使用主键

mysql - SQL 选择外键链接的其他表中的条目

sql - 如何在每个 id 组的列中选择最频繁的值?