更新: ''围绕$ username工作的建议。谢谢!但是现在,该表实际上并没有从$ lastLoginTime更新。
我的查询存在一些问题,我似乎无法理解我的生活,而且我处于停顿状态。
我们来看看代码。
function checkTOS($preusergrab){
include("includes/opendb.php");
$query = "SELECT * FROM users WHERE username='".$preusergrab."'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
$resultset[] = $row;
$TOS = $row['acceptTOS'];
}
mysql_free_result($result);
if($TOS == 1){
// return to processor
$lastLoginTime = time();
$query = mysql_query("UPDATE users
SET lastLoginTime = '$lastLoginTime'
WHERE username = $username");
if (!$query) {
die('<br>Invalid query: ' . mysql_error());
}
}elseif($TOS == 0 || $TOS = ''){
header("Location: http://partner.domain.com/terms.php?action=show");
die();
}else{
echo 'Internal Application Error:';
echo 'Value unrecognizable.';
echo '<br>Please alert someone at user@domain.com';
die();
}
}
现在,问题出现在这一部分:
$lastLoginTime = time();
$query = mysql_query("UPDATE users
SET lastLoginTime = '$lastLoginTime'
WHERE username = $username");
if (!$query) {
die('<br>Invalid query: ' . mysql_error());
}
它说:
Invalid query: Unknown column 'theuser' in 'where clause'
在这种情况下,'theuser'是$ preusergrab代表的用户。
在我的表中,用户名是主键,第0行。
如果我知道行在那里并且其他一切都有效,那么什么可能是无效的?
答案 0 :(得分:2)
尝试
$query = mysql_query("UPDATE users
SET lastLoginTime = '$lastLoginTime'
WHERE username = '$username'");
答案 1 :(得分:1)
应该是:
WHERE username = '$username'");
请注意我在$ username'变量周围添加的撇号。
答案 2 :(得分:0)
我相信你忘记引用$ username,引用如此'$ username'
$query = mysql_query("UPDATE users
SET lastLoginTime = '$lastLoginTime'
WHERE username = '$username'");
if (!$query) {
die('<br>Invalid query: ' . mysql_error());
}