PHP发布值但数据库未更新

时间:2016-06-24 12:10:58

标签: php mysql mysqli

我遇到的问题是我的表单提交了值但是他们没有输入数据库?

我已经尝试回显$ _POST以查看发布的内容,所有内容都应该发布,但是在进入数据库时​​失败了。

这是我的代码

if(isset ($_POST["update_detail"])) {

    foreach($_POST["id"] AS $id) {


        $name = mysqli_real_escape_string($_POST["name"][$id]);
        $age = mysqli_real_escape_string($_POST["age"][$id]);
        $update1 = "UPDATE `booked_peoples` SET `name` = '$name',`age` = '$age' WHERE `booked_peoples`.`id` = ".$id;
        $update2 = mysqli_query($con,$update1);
        if($update2){
            echo '<script>window.location.href="add_passengers.php?book_id='.$book_id.'";</script>';
        }
        else {

            echo 'OOPS';
        } } }

这里是php表单代码

if(isset($_GET['book_id']) and $_GET['action']=='edit')
                            {

                                $sq_edit_ps = "select * from booked_peoples where booking_id = ".$book_id;
                                $qr_edit_ps = mysqli_query($con,$sq_edit_ps);

                                while($rw_edit_ps = mysqli_fetch_array($qr_edit_ps))


                                {
                                    $ps_id = $rw_edit_ps['id'];
                                echo '<form action="" method="POST" role="form">';

                                echo '<div class="row">
                                        <div class="col-sm-9">
                                            <label>Name</label>
                                            <input class="form-control" type="text" name="name['.$ps_id.']" value="'.$rw_edit_ps['name'].'"/>

                                        </div>
                                        <div class="col-sm-3">
                                            <label>Age</label>
                                            <input class="form-control" type="text" name="age['.$ps_id.']" value="'.$rw_edit_ps['age'].'"/>
                                            <input type="hidden" name="id[]" value="'.$ps_id.'"/>
                                        </div>
                                    </div>';

                                }
                                echo '
                                            <button class="btn btn-info btn-flat" type="submit" name="update_detail" >Update</button>

                                    </form>
                                </div>';

                            }                   

我让代码失明....... :(

1 个答案:

答案 0 :(得分:0)

正是mysql_real_escape_string阻止它正常工作。

需要$ name = mysqli_real_escape_string($ con,$ _POST [“name”] [$ id]);

感谢上面的海报指出:)

想要发布解决方案以防其他人遇到同样的问题