繁体   English   中英

更新mysql中的lastlogin列值

[英]updating the lastlogin column value in mysql

我想更新lastlogin列值。我写了这样的代码,但列未更新。我在main.js中写了一些代码来插入query.here我没有写任何代码来更新main中的lastlogin列值。 js。 为了更新lastlogin列,我在dbfunc.php中编写了updatelogin函数,如下所示。

function updatelogin($lastlogin)
    {
         alert("hi");
        $query="UPDATE users set last_login='$lastlogin' where email='".$email."'";
         $queryresult= mysql_query($query);
         $count=mysql_num_rows($queryresult);
            if($count>0)
             {
                    return 1;
             }
            else
             {
                return 0;
            }    
        }   


    function register($details_arr)
       {
          $emailcheck=db_func::checkemail($details_arr['email']);
            if($emailcheck == 0){

         //print_r($details_arr);
         $regemail=$details_arr['email'];
       $regpwd=$details_arr['password'];
       $zip=$details_arr['zip'];
       $secqun=$details_arr['secqun'];
       $answer=$details_arr['answer'];
       $now=date("Y-m-d H:i:s",time());
       $lastlogin=date("Y-m-d H:i:s",time());


       $query= "INSERT INTO users (email,md5pwd,zip,squestion,sanswer,member_since,last_login,last_ip) VALUES('".$regemail."','".$regpwd."','".$zip."','".$secqun."','".$answer."','".$now."','".$lastlogin."','".$_SERVER['REMOTE_ADDR']."')";
                 $queryresult=mysql_query($query);
                 echo mysql_error();
                if($queryresult)
                {
                    non_db_func::loginuser($email);
                    db_func::updatelogin($details_arr['lastlogin']);
                    return 1;
                    }

                else
                    return 0;
                    }
                     else{

                     return 2;    
                      }

谁能告诉我,为什么我数据库中的lastlogin列未更新

您可能没有看到mysql错误,或者您要查找的电子邮件地址不存在。

您必须在功能updatelogin中传递$ email

因为$ email在updatelogin内部无法访问

还有其他事情,您在更新查询中使用$ email而不是$ regemail。

问题是,在函数updatelogin($lastlogin)您尚未定义$email内容。

如果在查询更新语句之后回显查询(在$query = UPDATE .....

echo $query

您将看到问题所在。

更新1

我认为您在$query语句之前应该有这样的东西
$email=$details_arr['email'];

要么

$email值传递为updatelogin($lastlogin, $email)

您能不能用下面的一项来代替您的功能,然后再试一次!

function updatelogin($lastlogin,$email)
{
 $query="UPDATE users set last_login='".$lastlogin."' where email='".$email."'";
 $queryresult= mysql_query($query);
 $count=mysql_num_rows($queryresult);
    if($count>0)
     {
            return 1;
     }
    else
     {
        return 0;
    }    
}   


function register($details_arr)
{
  $emailcheck=db_func::checkemail($details_arr['email']);
    if($emailcheck == 0){

        //print_r($details_arr);
        $regemail=$details_arr['email'];
        $regpwd=$details_arr['password'];
        $zip=$details_arr['zip'];
        $secqun=$details_arr['secqun'];
        $answer=$details_arr['answer'];
        $now=date("Y-m-d H:i:s",time());
        $lastlogin=date("Y-m-d H:i:s",time());


        $query= "INSERT INTO users (email,md5pwd,zip,squestion,sanswer,member_since,last_login,last_ip) VALUES('".$regemail."','".$regpwd."','".$zip."','".$secqun."','".$answer."','".$now."','".$lastlogin."','".$_SERVER['REMOTE_ADDR']."')";
        $queryresult=mysql_query($query) or die(mysql_error());

        if($queryresult)
        {
            non_db_func::loginuser($email);
            db_func::updatelogin($lastlogin,$regemail);
            return 1;
        }
        else
        {
            return 0;
        }
   }else{
        return 2;    
    }
}

首先,您的代码有错误。 alert('hi)是一个javascript函数。 以后再尝试print_r('hi) 您的mysql格式错误。

$query="UPDATE users set last_login='$lastlogin' where email='".$email."'";

您逃脱了$ email,但没有逃脱$ lastlogin。 尝试这个:

$query="UPDATE users set last_login='".$lastlogin."' where email='".$email."'";

另外如前所述,您需要将$ email传递到函数中以在mysql中使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM