This question already has answers here:
Increment a database field by 1
(5个答案)
两年前关闭。
我一直试图通过搜索来解决这个问题,但是我遇到了不推荐的代码和相互冲突的建议。
我试图选择通过url传递ID的yes投票数。然后我想在这个数字上加一个并更新这个表。我不太清楚我到底错在哪里了。
编辑:我试过使用yesvotes=yesvotes+1,这将使我从0变为1,但不会使我从1变为2或更进一步。我只需要单击一个链接(它通过URL传递所需的“ID”,并使用$GET检索)将1添加到“yesvotes”列。我认为这是一个简单的过程,但似乎我遗漏了一些东西或在某个地方有语法错误。
对不起,我只是想学。
    <?php

    $entry = $_GET ['id'];

    include 'connect.php';

    $result = $mysqli->query("SELECT * FROM yesvotes WHERE ID = '" . $entry ."'");

    $vote = $result->fetch_array();

    $votetotal = $vote++;


    $sql =
    "UPDATE showsubmit
    SET yesvotes = '" . $votetotal . "'
    WHERE ID = '" . $entry . "'";

    $conn->query($sql);

    $conn->close();


    ?>

最佳答案

你不需要这些。。。你可以像

UPDATE showsubmit ss
JOIN ( SELECT ID, COUNT(*) as total
       FROM yesvotes WHERE ID = 2334 ) XXX ON ss.ID = XXX.ID
    SET ss.yesvotes = XXX.total + 1;

10-07 12:06