1

このコードの何が問題になっていますか?

$core->query("UPDATE games SET hits = hits + 1 WHERE id=".intval($id).";");

hits2倍、時には3倍の増加!たとえば、ヒット数 = 3; この関数を呼び出すと、ヒット数は 5 になり、場合によっては 6 になります。(1 の代わりに 2 と 3 を追加します)。

mysql テーブル タイプは MyISAM です。

クエリ関数は次のとおりです。

function query($query) {


    $this->error="";
    $this->result=@$this->link->query($query);
    if(!$this->result) {
        $this->error=@$this->link->error;
        return FALSE;
    }

    return $this->result;
}

リンクは次のとおりです。

$link = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
4

3 に答える 3

1

SQL コードは正しいように見えるので、問題の原因はコンテキストにあるはずです。

ページごとに 2 ~ 3 回呼び出される要素にコードを配置することは可能ですか? 明示的でない場合は、インクルードまたはサブルーチン構造を通じて?

于 2012-04-25T12:25:34.517 に答える
0

クエリは正しいようですが、同じ$id値に対して複数回のこの関数呼び出しである可能性があります。これを確認してください。

ありがとう

于 2012-04-25T12:41:10.747 に答える
0

そのページのフラッシュからでした。

于 2012-05-12T12:30:18.957 に答える