2012-08-17 66 views
0

我知道這是一個簡短的問題,但我不能在此行中找出語法錯誤:無法在MySQL語句來找出語法錯誤

$insert = mysql_query("UPDATE user SET userName = '$username_change' WHERE userID = '$_SESSION['userid']' ");

我知道這個問題是與$_SESSION變量但如果有的話,我不需要爲了聲明的工作而逃避或改變。

+0

不使用'mysql_xxx()'。這些功能被認爲是過時的。切換到使用'mysqli_xxx()'函數或PDO庫。 – Spudley 2012-08-18 11:27:15

回答

1

嘗試花括號內包裝你的數組變量:

更新用戶設置用戶名= '$ username_change' 其中userid = '{$ _SESSION [' 用戶ID「] }'

另外想想遠離mysql_ *函數。

+0

並朝着** mysqli **的方向發展? – garethdn 2012-08-17 17:37:59

1

嘗試:

$insert = mysql_query("UPDATE user SET userName = '".$username_change."' WHERE userID = ".$_SESSION['userid']); 
+0

雖然這確實解決了這個問題,但這只是偶然 - 只是改變爲$ username_change concatenation絕對沒有。 '$ x =「a $ b」'功能與'$ x =「a」相同。 $ B'。我會-1,但因爲你不是完全錯誤的... – 2012-08-17 17:30:33

+0

@Marc B:YOu對吧......我習慣在編輯器中清楚地看到我的所有變量......壞習慣,他也應該使用PDO ... – 2012-08-17 21:54:35

1

試試這個

UPDATE user SET userName = '$username_change' WHERE userID = "'.$_SESSION['userid']."' "