我试图进行查询,但是它提供了解析错误

时间:2012-06-01 04:55:35

标签: php mysql

当我查询时,它说:

"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.';
}

任何想法?

2 个答案:

答案 0 :(得分:2)

您在字符串和变量之间缺少.。有必要连接成一个字符串。它应该是:

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

虽然您应该使用mysqli_*PDOs

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

答案 1 :(得分:1)

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