2012-06-01 59 views
0

我將有一個菜單,其中包含圖像,這取決於用戶上次訪問後是否添加了新記錄。當用戶點擊一個鏈接時,插入click_url,時間戳和用戶名

但是我決定放棄這個想法,現在我將比較上次點擊鏈接的時間戳和新記錄上的時間戳。

我試圖找到一個解決辦法,但我在這一行堅持,現在,也許你可以看看有什麼地方錯了(點擊我的表,我想存儲的點擊次數):

$sql = "insert into clicks (username, link_url, click_timestamp) values ($_SESSION[$username], "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]", now())"; 
$result=mysql_query($sql); 

所以任何人有什麼好主意? :)

回答

2

您的SQL語法錯誤,試試這個:

$sql = 'INSERT INTO clicks (username, link_url, click_timestamp) VALUES 
     ("' . $_SESSION[$username] . '", 
     "http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '", 
      NOW() 
     )'; 
+0

謝謝,它的工作原理除了用戶名沒有記錄,你有什麼想法,爲什麼? – user1424728

+0

好吧,現在它工作!這是它現在的樣子:$ username = $ _SESSION ['username']; $ sql ='INSERT INTO clicks(username,link_url,click_timestamp)VALUE (「'。$ username。'」, 「http://'。$ _SERVER ['HTTP_HOST']。$ _SERVER ['REQUEST_URI']。 '「, NOW() )'; $ result = mysql_query($ sql); – user1424728

0

檢查字符串。正如我所知,PHP可以解決一個字符串內的簡單變量,但不能解決一個數組,所以在這種情況下$_SESSION應該超出字符串。另外,如果你想在一個字符串中加引號,在它之前使用一個反斜槓,如\",所以它將被解釋爲一個引號字符而不是字符串的結尾。

相關問題