2012-08-17 68 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']."' "