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

何か案は?

4

2 に答える 2

2

.文字列と変数の間に欠落があります。単一の文字列に連結する必要があります。そのはず:

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

実際には、mysqli_*またはPDOを使用する必要があります。

さらに、クエリはSQLインジェクションの影響を非常に受けやすくなっています。$ _GET ['p']をデータベースに入力する前に、サニタイズする必要があります。少なくとも、mysql_real_escape_string()を使用してください。

于 2012-06-01T04:56:08.937 に答える
1
<?php mysql_query("UPDATE `post` SET `userid`='16' WHERE `postid`=".$id); ?>
于 2012-06-01T05:06:45.247 に答える