我正在尝试将用户上次登录时的当前日期/时间插入数据库。由于某种原因,这不起作用。
在同一页面上运行的其他插入脚本运行良好,连接正常
我使用相同的语法在整个网站中插入其他内容,所以我没有弄到什么问题
我可以保证在输入密码时正在执行else
部分。
这是我正在讨论的一段代码。
if(!$pwVer){
// code to execute if the password is incorrect.
} else {
$dateT = date("Y-m-d H:i:s");
$up_date = $con->prepare("INSERT INTO tbl_user_test (user_last_login) VALUES (:l_login)");
$up_date->bindParam(':l_login', $dateT);
$up_date->execute();
validateUser($userid); //sets the session data for this user
header("Location: cart.php");
$con = null;
die();
}
某些背景:
提前致谢!
答案 0 :(得分:3)
我正在尝试将当前日期/时间插入到用户上次登录时的数据库中。由于某种原因,这不起作用。
您的代码中没有可见的错误,因此应该执行它。一个可能的问题可能是PDO处于静默模式,它不会告诉您发生了什么错误或错误。将PDO设置为失败,但出现异常。
此外,您无需自己构建当前日期;您可以使用SQL的NOW()
。
<?php
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
try {
$up_date = $con->prepare("INSERT INTO tbl_user_test (user_last_login) VALUES (NOW());");
$up_date->execute();
}
catch( Exception $e ) {
echo $e; exit;
}
header("Location: cart.php");
$con = null;
die();
答案 1 :(得分:2)
您是否尝试过NOW()获取当前日期时间?
答案 2 :(得分:2)
一旦检查
$up_date->bindParam(':l_login', $dateT, PDO::PARAM_STR);