[英]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
您将看到问题所在。
我认为您在$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.