0

我正在尝试在用户表中添加一个字段以获得声誉。我通过表单使用 + 1 增量,并且由于某种原因它没有更新。查询我正在运行。

$link = mysqli_connect("$server", "$user", "$pass", "$webdb") or die( "Error:" . mysqli_connect_error());
$username = mysqli_real_escape_string($link, (string) $_POST['user']);
$query= "Update `user` set `reputation` = 'reputation + 1' where `nicename`='$username'";
mysqli_query($link, $query) or die ("Error:" . mysqli_errno($link));

我已经在 HeidiSQL 内部以及通过网页上的按钮运行了查询,但它没有更新,这告诉我我面临的任何问题都是我的查询本身的问题。有没有人看到它不起作用的问题?我正在尝试将信誉面板更新为每次单击时升级一个;谢谢。

4

2 回答 2

2

删除引号。你所做的就像在 PHP 中说的:

$a = 123;
$a = '$a + 1';
// why won't it work?

旁注:无缘无故地将变量用引号括起来是多余的,效率低下。mysqli_connect从您的通话中删除所有引号。

于 2012-10-14T23:49:46.490 回答
1

您正在尝试将列设置reputation字符串文字“reputation + 1”。('reputation + 1' 周围的单引号表示它是一个字符串。)删除引号,它应该符合您的预期。

于 2012-10-14T23:50:43.223 回答