PHP 表单发布并插入多行

标签 php mysql database forms post

我被难住了。我在 Stackoverflow 上查找了多个答案,但就是找不到。也许我只是没有看到一些东西。

我正在制作一款 Family Feud 游戏,并使用 PHP 和 MySQL 数据库来存储和检索信息。对于 Fast Money 回合,我有一个数据库,其中有一个名为“FastMoney1”的表,我使用 HTML5 表单和 PHP 将表单中的数据发布到该表,该表有两列:答案和分数

我正在通过 for 循环运行查询,但它没有将任何内容发布到表中。我想知道我做错了什么。

HTML:

<form method="post" class="form-horizontal">
    <div class="form-group">
        <div class="col-xs-9">
            <input type="text" class="form-control" id="question1answer" name="answer[0]" placeholder="Question 1">
        </div>
        <div class="col-xs-3">
            <input type="number" class="form-control" id="question1score" name="score[0]" placeholder="0">
        </div>
    </div>
    <div class="form-group">
        <div class="col-xs-9">
            <input type="text" class="form-control" id="question1answer" name="answer[1]" placeholder="Question 2">
        </div>
        <div class="col-xs-3">
            <input type="number" class="form-control" id="question1score" name="score[1]" placeholder="0">
        </div>
    </div>
    <div class="col-xs-4 col-xs-offset-4" align="center">
        <input type="submit" class="btn btn-success" name="Submit" />
    </div>
</form>

PHP:

<?php

    if(isset($_POST['submit'])){

        require "config.php";

        for ($i = 0; $i<count($_POST); $i++){
            $answer = $_POST['answer'][$i];
            $score = $_POST['score'][$i];
            $sql = "INSERT INTO `fastMoney1`(`answer`, `score`) VALUES ('$answer','$score')";
            if ($conn->query($sql) === TRUE) {
                echo "";
            } else {
                echo $conn->error;
            }
        }

        $conn->close();
        echo "<meta http-equiv='refresh' content='0'>";

    }

?>

所有这些都位于同一个 PHP 页面上,这就是为什么我没有将操作附加到表单。

config.php 是一个包含文件,调用主机、用户名、密码和数据库并打开连接

最佳答案

请记住,PHP 变量区分大小写,您在表单中指定了名称 Submit,而在 php 中您正在检查 if(isset($_POST['submit'])){ 这永远不会成为现实。 将其更改为

if(isset($_POST['Submit'])){ //<----- S in upper case

编辑 您还需要将循环更改为

for ($i = 0; $i<count($_POST['answer']); $i++){

关于PHP 表单发布并插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518881/

相关文章:

javascript - 使用 Ajax 在不刷新页面的情况下查询 SQL

php - 枚举替代方案

mysql - 在大型 MySQL InnoDB 表上,完整计数查询真的这么慢吗?

php - 要编制产品列表,特别是价格,我如何使用两个表来构建产品的总价?

sql - 是否可以在表之间创建关系?

mysql - sqlite 插入同时删除完整的重复项

php - 在提交时检查文本框中所需文本的代码

php - Select 内的 SQL Select 不接受 WHERE x LIKE %y%

php - 检查两次之间的时差?

database - 通过 Perl 脚本从 Postgresql 数据库表中选择时的不同输出