0

我有一个简单的表格,并设置了一个 MySQL 表。

我要做的就是每次提交表单时在选定的行数量上加 1。

表很简单:

    answer | amount
------------------------
    Yes    | 5
    No     | 12
    Maybe  | 1

形式是:

<form action="submit.php" method="post">
Is this a cool pie chart?:
<input type="radio" name="group1" value="Yes"> Yes<br>
<input type="radio" name="group1" value="No"> No<br>
<input type="radio" name="group1" value="Maybe"> Maybe<br>
<input type="submit">
</form>

然后在 submit.php 中到目前为止我有以下内容,但似乎没有工作

 <?php
    $sql = "UPDATE results SET amount= amount + 1 where answer = ?";
    $stmt = mysqli_prepare($conn, $sql);
    mysqli_stmt_bind_param($stmt, "s", $selected_option);   

    if (isset($_POST['submit'])) {
         $selected_option = $_POST['group1'];
         if ($selected_option == 'Yes') {
                mysqli_stmt_execute($stmt);
          }else if ($selected_option == 'No') {
                mysqli_stmt_execute($stmt);
          } else if ($selected_option == 'Maybe')
             mysqli_stmt_execute($stmt);
    }
?>

因此,如果有人回答“是”,“是”的数量行将增加到 6 等等。

我已经设法调用数据,甚至使用教程将其添加到 Google Visualization API 中,但似乎在这部分失败了。

提前谢谢大家。

4

1 回答 1

1

如果您发出查询

UPDATE results SET amount = amount + 1

您将更新表中每一行的数量值。因此,您必须使用WHERE-predicate 指定行:

UPDATE results SET amount = amount + 1 WHERE answer = ?

的价值?应该是group1变量的发布值。为了防止 SQL 注入,请将此作为准备好的语句(参见http://php.net/manual/de/pdo.prepared-statements.php

于 2013-08-06T11:11:08.307 回答