2012-06-01 33 views
-1

当我做一个查询,它说:我试图做一个查询,它给解析错误

"Parse error: syntax error, unexpected T_VARIABLE in *****/postchange.php on line 125" 

我的查询是:

PHP

$id = $_GET['id']; 
if($id > 1){ 
    mysql_query("UPDATE `post` SET userid = 16 WHERE postid = "$id) 
    or die(mysql_error()); 
    echo '...Done'; 
} else { 
    echo 'Invalid post.'; 
} 

有任何想法吗?

+0

检查mysql查询语法 – swapnesh

回答

2

您错过了字符串和变量之间的.。有必要连接成一个字符串。它应该是:

mysql_query("UPDATE `post` SET userid = 16 WHERE postid = " . $id) 
or die(mysql_error()); 

虽然真的,你应该使用mysqli_*PDOs

此外,您的查询极易受SQL注入影响。在将数据输入到数据库之前,您需要清理$ _GET ['p']。至少,使用mysql_real_escape_string()

+0

谢谢你的工作。我会研究mysqli的东西 – user1429870

1
<?php mysql_query("UPDATE `post` SET `userid`='16' WHERE `postid`=".$id); ?>