SQL WHERE语句不起作用


SQL WHERE statement not working

我已经编写了以下代码:

$sql="INSERT INTO donate (amount, reward) VALUES ('$amount', '$reward') WHERE id = ('$id')";

但我得到了这个错误:

错误:您的SQL语法有错误;查看手册与您的MySQL服务器版本相对应,以便使用正确的语法在第1行的'WHERE id=('19')'附近

我不知道我做错了什么,有人能帮我吗?

不能使用WHERE子句执行INSERT。如果您需要WHERE条件,则需要执行UPDATE

您可以使用:

$sql="UPDATE donate SET amount='$amount', reward='$reward' WHERE id = '$id'";

您要的是UPDATE而不是INSERT

INSERT语法不能有WHERE子句。只有当您使用INSERT INTO...SELECT语句时,您才会发现INSERT有WHERE子句。

你可以试试

$sql="UPDATE donate SET amount='" . $amount. "', reward='" .$reward. "' WHERE id='" .$id. "'";

当您在插入记录时,该记录在数据库表中不可用,因此您不能与where一起使用。

其次,您只在现有数据库记录(如UPDATE或DELETE记录)上使用where cause。。。。。

我希望能帮助你