2014-01-13 31 views
0

我在添加1到MySQL中的列值时遇到问题。我在列名称上使用了反引号,并且值不增加。这里是我的查询:MySQL - 在反引号中添加1到具有名称的列

$update = $connectdb->prepare("UPDATE `strings` SET posted=posted, `response-comment`=`response-comment` + 1 WHERE `id`=?"); 
$update->execute(array($id)); 

为什么我的查询不工作?价值$id是正确的,列response-comment应该使用此为您的SQL语句以1

+0

您可以发布该你的桌子的架构? –

+0

这是一个普通的表格,它没有任何限制。我试图更新另一列,它的工作。我认为这与列名中的破折号有关,这就是我使用反引号的原因。 – user892134

+0

这通常起作用。现在的问题是,在将参数绑定到它之后,准备好的查询会发生什么情况。 – Steini

回答

0

尝试增加(假设strings是你的表的名称:

UPDATE `strings` SET `response-comment`=`response-comment` + 1 WHERE `id`=? 
+0

我同意你的发布=发布在更新查询看起来相当奇怪,只是浪费时间和资源。但是这不应该影响查询的操作。 –

+0

我试过这个,仍然没有更新,这应该工作我没有看到任何问题。 – user892134

+0

如果直接执行它而不是通过PHP执行它,那么该语句是否可以工作?如果是这样,那可能表明PHP中存在某些错误。 – DopeGhoti

0

小心刻度线 如果不当来编码你可以用它去改变你整数值转换成字符串,从而改变你的要求的行为引号结束。 你有没有用出, just响应注释=响应注释试图+ 1`

相关问题