Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在mysql中更新lastlogin列值_Php_Mysql - Fatal编程技术网

Php 在mysql中更新lastlogin列值

Php 在mysql中更新lastlogin列值,php,mysql,Php,Mysql,我想更新lastlogin列值。我编写了这样的代码,但列没有更新。我在main.js中编写了一些代码用于插入查询。在这里,我没有编写任何代码用于更新main.js中的lastlogin列值。 为了更新lastlogin列,我在dbfunc.php中编写了updatelogin函数,如下所示 function updatelogin($lastlogin) { alert("hi"); $query="UPDATE users set last_login

我想更新lastlogin列值。我编写了这样的代码,但列没有更新。我在main.js中编写了一些代码用于插入查询。在这里,我没有编写任何代码用于更新main.js中的lastlogin列值。 为了更新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。

首先,您的代码中有一个错误。alert'hi是一个javascript函数。第二,以后试试打印。您的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中使用。问题在于,在函数updatelogin$lastlogin中,您没有定义$email将包含什么

如果在$query=update…..之后的查询更新语句后回显查询

你会明白你的问题是什么

更新1 我认为在$query语句之前应该有这样的语句 $email=$details_arr['email']

或 将函数中的$email值作为updatelogin$lastlogin,$email传递

能否请用下面的函数回复函数并重试



尝试在查询中包含mysql_错误,让我们看看它有什么意思……等等,您提到main.js,还提到dbfunc.php。您是在服务器端还是在客户端执行此查询?我们需要更多的信息。另外,请阅读SQL注入以及为什么它是一件坏事。。。你在这里非常容易受到攻击。我在mysql中编写了users表,并在表中插入了一些数据。下次我使用同一封电子邮件时,更新了当时的pwd lastlogin列值。我在服务器端执行此操作。你能键入echo$query并让我知道你得到了什么吗??这可能会解决您的问题。我放置了echo$query,但它不会回显查询,我认为调用函数updatelogin$email{alerthi;$query=UPDATE users set last_login='$lastlogin'where email='.$regemail''时会出现问题;现在我像上面一样进行了更改,但它的工作函数updatelogin$lastlogin,$email{$query=UPDATE users set last_login='$lastlogin'其中email='.$email.';mysql_query$query;}您必须调用updatelogin$details_arr['lastlogin'],$regemail;OHH。我发现$details_arr['lastlogin']没有分配=>只需将其替换为$lastlogin变量即可,即调用updatelogin$lastlogin,$regemail;它不显示任何错误,我使用现有电子邮件地址检查代码更改db_func::updatelogin$details_arr['lastlogin'];更改为db_func::updatelogin$details_arr['lastlogin'],$details_arr['email'];和函数updatelogin$lastlogin到函数updatelogin$lastlogin,$email我按照你说的更改代码,但它不工作,而且我放置了错误消息,它没有显示任何错误。我认为你有一个更基本的错误,正如前面提到的,这纯粹是在PHP服务器端,或者你正在客户端做一些事情。需要提供更多信息吗,当然你一定是在屏幕上出错了?我在服务器端做这件事,我在屏幕上没有发现任何错误。我放置了echo$query,但它没有回显查询,我认为调用function@kanya:您没有得到我的答案。问题是现在在函数updatelogin$lastlogin中,$email不包含任何值。键入echo hi、 ..;在$query之前,您将在输出中看到hi…。@kanya:请查看我的更新答案,如果您有任何问题,请告诉我。是的,我知道了。我按您所说的放置,但在o/pin函数updatelogin$lastlogin中没有显示任何hi消息。您能告诉我变量$email将包含哪些数据吗?抱歉,我忘了!刚刚编辑过!看一看!谢谢,但OP没有e类似的东西…你也是从我这里抄来的吗???@uditdrivedi:你不能放两个答案。最好你写更新1把所有答案合并到一个答案中,等等…@Fahim-我没有从你那里抄来。我已经在你之前回答过这个问题。请在答案中查看。我刚刚发布了另一个答案,带有完整的代码!
echo $query
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;    
    }
}