我在.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个输入,但没有一个输入插入表中。这样做的正确方法是什么?
答案 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;
}