更新MySQL表-PHP

更新MySQL表-PHP,php,Php,我正在制作一个简单的拍卖网站,我有一个按钮供用户在希望出价时点击。出价应该增加1,这似乎做得很好。但是,我只是尝试更改bidprice字段的值。我不知道为什么,但是我的代码是用bidhistoryid添加新行,每次bidprice上涨时返回一行。我希望我说得够清楚了。基本上,我需要做的是增加我的bidprice值1,而不是更多 这是我更新表的代码。我很确定我的问题在这里 mysql_query(" UPDATE bidhistory SET bidprice = bidprice + 1 WHE

我正在制作一个简单的拍卖网站,我有一个按钮供用户在希望出价时点击。出价应该增加1,这似乎做得很好。但是,我只是尝试更改bidprice字段的值。我不知道为什么,但是我的代码是用bidhistoryid添加新行,每次bidprice上涨时返回一行。我希望我说得够清楚了。基本上,我需要做的是增加我的bidprice值1,而不是更多

这是我更新表的代码。我很确定我的问题在这里

mysql_query("
UPDATE bidhistory
SET bidprice = bidprice + 1
WHERE biditemid = biditemid"
);

子句
其中biditemid=biditemid
对于表中的所有行计算为true(通常,对于所有x,x=x,对吗?)。每次运行此查询时,表中所有行的
bidprice
。这可能是你麻烦的根源


您需要根据已投标项目的id参数化查询。

更新无法在
中添加新行,其中biditemid=biditemid
,这是您的代码的确切文本,还是右侧的
biditemid
应该是一个变量?@mooimaduck,这是确切的文本。因此biditemid等于itemid,但是itemid在另一个表中。我仍然可以使用
其中biditemid=itemid
?问题是哪个
itemid
。我假设所讨论的
itemid
来自HTTP请求(例如通过
$\u POST
)。一旦你有了
itemid
,你就不需要在表中查找它了——你已经知道了。您所需要做的就是在查询中插入它(并记住正确地转义):
mysql\u查询(“更新bidhistory SET bidprice=bidprice+1,其中biditemid=“.mysql\u escape\u string($itemid))
还请注意,您正在为PHP使用一个不推荐使用的mysql API。