我在通过PHP更新我的qotwVote1a表的Vote1a字段时遇到了一些问题。你能不能看看代码,告诉我在这里做错了什么。
$result = mysql_query("SELECT * FROM qotwVote1a WHERE QuestionId='".$questionId."' AND MemberId='".$id."'");
while($row = mysql_fetch_array($result))
{
$originalVote=$row['Vote1a'];
$newVote=$originalVote + $vote;
//echo ($newVote);
}
$sql = <<<END
UPDATE qotwVote1a
SET Vote1a = '$newVote',
WHERE QuestionId = '$questionId' AND MemberId = '$id'
END;
mysql_query($sql);
if (mysql_error()) {
die("Error executing query '$sql': " . mysql_error());
}
使用此代码我收到错误:
“执行查询时出错'UPDATE qotwVote1a SET Vote1a ='2',WHERE QuestionId ='57'AND MemberId ='zee'':您的SQL语法出错;请查看与您的MySQL服务器版本对应的手册正确的语法在第3行“WHERE QuestionId ='57'和MemberId ='zee''附近使用”
此致 Zeeshan
答案 0 :(得分:5)
$newVote
之后有逗号。把它取下来,你会变得非常敏锐。
此外,您不需要在引号中包装数字,如果您的列是整数或浮点类型,则不要这样做。无论如何,这样做会导致那些转换成数字,所以这不是什么大问题。
UPDATE qotwVote1a
SET Vote1a = '$newVote'
WHERE QuestionId = '$questionId' AND MemberId = '$id'
答案 1 :(得分:0)
在你错误放置的SET
子句之后的MySQL查询中有一个逗号。所以试试这个:
$sql = <<<END
UPDATE qotwVote1a
SET Vote1a = '$newVote'
WHERE QuestionId = '$questionId' AND MemberId = '$id'
END;
答案 2 :(得分:0)
看起来您缺少一些代码,因为提供的查询不是给出错误的查询。查询中的问题是在“Vote1a ='2'”语句之后的额外逗号。