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 内と Web ページのボタンの両方でクエリを実行しましたが、更新されないため、直面している問題がクエリ自体の問題であることがわかります。問題が機能しない場所を見ている人はいますか? 評価パネルがクリックされるたびに 1 つずつアップグレードするように更新しようとしています。ありがとう。

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 に答える