通过'插入到MySQL表中循环与字符串之间的变量

时间:2016-08-20 01:08:43

标签: php mysql

我在.php文件中有一个表单。在操作上,我将$ _POST变量发送到另一个.php文件,在那里我将表单/输入结果添加到数据库表中。

但是在某个特定的地方似乎存在问题。表格创建正确,有连接。但是,我无法插入数据。

以下是原始.php文件的输入。他们生成没有错误:

<div class="form-group">
    <input class="form-control" name="player<?php echo $i; ?>-fn" placeholder="First name" type="text" <?php if($i>5){echo "disabled ";}?> />
</div>
<div class="form-group">
    <input class="form-control" name="player<?php echo $i; ?>-ln" placeholder="Last name" type="text" <?php if($i>5){echo "disabled ";}?> />
</div>
<div class="form-group">
    <input class="form-control" name="player<?php echo $i; ?>-nr" placeholder="Number" type="number" <?php if($i>5){echo "disabled ";}?> />
</div> <?php } ?>

在.php文件中,我发送变量,我创建一个表:

$team_name = $_POST["team"];
$query = "CREATE TABLE " . strtolower($team_name) . " (id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,team_name varchar(255) NOT NULL,short_name varchar(255) NOT NULL)";
mysqli_query($_SESSION["mySqlLink"],$query);

此处没有错误,表已创建。

错误(不插入表格)似乎在这里:

for($i=1; $i<=12; $i++){
    if(!empty($_POST["player". $i ."-fn"]) && !empty($_POST["player". $i ."-ln"]) && !empty($_POST["player". $i ."-nr"])){
        $first_name = $_POST["player". $i ."-fn"];
        $last_name = $_POST["player". $i ."-ln"];
        $number = $_POST["player". $i ."-nr"];
        $query = "INSERT INTO ". $team_name ." (number,first_name,last_name) VALUES ('$number','$first_name','$last_name')";
        mysqli_query($_SESSION["mySqlLink"],$query);
    }
    else break;
}

我有12个输入,但没有一个输入插入表中。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

表列名(id,team_name,short_name) 您正在尝试插入(number,first_name,last_name) 插入列名称应该与表列名相同 代码如下:

for($i=1; $i<=12; $i++){
    if(!empty($_POST["player". $i ."-fn"]) && !empty($_POST["player". $i ."-ln"]) && !empty($_POST["player". $i ."-nr"])){
        $first_name = $_POST["player". $i ."-fn"];
        $last_name = $_POST["player". $i ."-ln"];
        $number = $_POST["player". $i ."-nr"];
        $query = "INSERT INTO ". $team_name ." (id,team_name,short_name) VALUES ('$number','$first_name','$last_name')";
        mysqli_query($_SESSION["mySqlLink"],$query);
    }
    else break;
}