2012-05-14 94 views
1

更新: '''的建議繞$ $用戶名工作。謝謝!但是現在,表格實際上並沒有從$ lastLoginTime更新。MySQL PHP查詢無效 - 找不到列

我有一些問題,我的查詢,我似乎無法找出我的生活,我停了下來。

讓我們來看看代碼。

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 [email protected]'; 
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

怎麼可能是無效的,如果我知道該行是存在的,其他一切作品?

+1

我建議把你的SQL查詢到一個變量,它呼應,然後複製並粘貼到的phpMyAdmin。這會告訴你它的PHP或SQL是否有問題。 – Julien

回答

2

嘗試

$query = mysql_query("UPDATE users 
       SET lastLoginTime = '$lastLoginTime' 
        WHERE username = '$username'"); 
+0

那麼工作,但沒有更新表的原因.. – user1393955

+0

檢查,'時間()'返回日期適當的格式可以理解爲mysql – triclosan

+0

是的,標準的UNIX時間戳,我在應用程序的其他地方使用它。只是回顯變量,它顯示了時間戳。 – user1393955

1

它應該是:我說在你的$用戶名」變量

WHERE username = '$username'"); 

注意撇號。

+0

那麼工作,但一些原因,它不更新表.. – user1393955

0

我相信你忘了引用$的用戶名,引號,像這樣「$用戶名」

$query = mysql_query("UPDATE users 
SET lastLoginTime = '$lastLoginTime' 
WHERE username = '$username'"); 

if (!$query) { 
die('<br>Invalid query: ' . mysql_error()); 
} 
+0

那麼工作,但一些原因,它不更新表..我更新了我的問題。 – user1393955