在if语句中插入查询

时间:2019-08-01 10:58:08

标签: php mysql

我想在用户登录系统时添加当前日期,但是似乎不起作用!

if (password_verify($_POST['password'], $password)) {
    session_regenerate_id();
    $_SESSION['loggedin'] = TRUE;
    $_SESSION['name'] = $_POST['username'];
    $_SESSION['id'] = $id;
    $query = "  INSERT INTO accounts (last_login) VALUES (SYSDATE() 
    );WHERE `id`='".$id."'";
    header('Location: home.php');

MySQL中的last_login字段设置为datetime。现在发生的是它将用户重定向到home.php,但是数据库中没有任何内容!

2 个答案:

答案 0 :(得分:0)

一些注意事项:

  • 如果您只想插入一个值且不引用用户帐户的记录,我会感到惊讶
  • INSERT不使用WHERE子句
  • 我希望您想要进行更新
  • 也许是这样的:

    $query="UPDATE accounts SET last_login=NOW() WHERE id='".$id."'";
    

答案 1 :(得分:-1)

您可以在查询中使用NOW()函数,它将返回当前日期和时间,如

if (password_verify($_POST['password'], $password)) {
session_regenerate_id();
$_SESSION['loggedin'] = TRUE;
$_SESSION['name'] = $_POST['username'];
$_SESSION['id'] = $id;
$query = "  INSERT INTO accounts (last_login) VALUES (NOW()) WHERE id='$id'";
header('Location: home.php');