猿问

在 if 语句中插入查询

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


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,但是数据库中没有写入任何内容!


江户川乱折腾
浏览 300回答 2
2回答

互换的青春

需要注意的几点:如果您想插入只有一个值且不引用用户帐户的记录,我会感到惊讶INSERT 不使用 WHERE 子句我希望你想做一个更新也许是这样的:$query="UPDATE accounts SET last_login=NOW() WHERE id='".$id."'";

富国沪深

您可以在查询中使用 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');
随时随地看视频慕课网APP
我要回答