ユーザが最後にログインしたときにトラッキングしたいので、データベースにタイムスタンプが付けられているカラムを追加してログインするたびに更新できます。ログインの際には、 'SQLSTATE [HY000]:一般的なエラー'というエラーが表示され、データベースに何も起こりませんが、ログインをもう一度クリックすると、ここ は私のログイン機能である:2回目の試行ではクエリを処理しますが最初には実行しません
public function login($email,$upass)
{
try
{
$stmt = $this->conn->prepare("SELECT * FROM po_users WHERE userEmail=:email_id ");
$stmt->execute(array(":email_id"=>$email));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() == 1)
{
if($userRow['userStatus']=="Y")
{
if($userRow['userPass']==md5($upass))
{
$_SESSION['userSession'] = $userRow['userID'];
$stmt = $this->conn->prepare("UPDATE po_users SET lastLogIn = current_timestamp WHERE userEmail=:email_id");
$stmt->execute(array(":email_id"=>$email));
$userRow=$stmt->fetchAll(PDO::FETCH_ASSOC);
return true;
}
任意のアイデア?
セッションが設定された後に賭けることが賭けるのは –
どのように設定して更新するかに関する提案はありますか? – PHPNewbie
セッションが最初に設定されているかどうかを確認してから、クエリを実行します - 'if/else' –