将动态字段数据插入mysql

时间:2018-05-04 07:21:30

标签: php mysql dynamic-data

我可以从我的表单获取数据到后端php,但是如何将其插入MySQL?

这是我的表格

<div class="container">
        <form class="form-control" method="post" action="save.php">
            <div id="input_fields">
                <div class="container">
                    <input type="text" name="name[]" placeholder="name"> <input type="text" name="project[]" placeholder="project"> <button class="btn btn-primary" id="add_field">+</button>
                </div>
            </div>
            <input class="btn btn-primary" type="submit" value="submit">
        </form>
    </div>

    <script>
        $(document).ready(function() {
            $("#add_field").click(function(e){
                e.preventDefault();  
                    $("#input_fields").append('<div class="container"><input type="text" name="name[]" placeholder="name"/> <input type="text" name="project[]" placeholder="project"> <button id="remove" class="btn btn-danger">-</button></div>'); 
            });

            $("#input_fields").on("click","#remove", function(e){ 
                e.preventDefault(); $(this).parent('div').remove(); 
                x--;
            })
        });
    </script>

后端php代码在foreach上我用echo来检查数据,它显示了正确的数据,但它没有插入MySQL。

if(isset($_POST["name"]) && isset($_POST["project"])) { 
    foreach($_POST['name'] as $key => $val) {
        $proj = $_POST['project'][$key];
        echo "Name ".$val." Project ".$proj;
        $insert = "INSERT INTO table_name (column1,colunm2) values ('$val','$proj')";
        $result = $conn->query($insert);
    }

    if($result) {
        echo "Data inserted Successfully";
    }
}

2 个答案:

答案 0 :(得分:1)

您可以检查查询中是否有任何错误。如果有,那么尝试修复以下错误。

if(!$result) die($conn->error);

答案 1 :(得分:0)

暂时删除此行

if($result) {
   echo "Data inserted Successfully";
}

并在循环中定义此代码,就在foreach循环开始的地方 -

$insert = '';
$result = '';

我希望这会对你有所帮助!