php query()返回true但不更新数据库

时间:2016-10-16 18:15:58

标签: php mysql database

我在表中有一个表单,它根据数据库中的记录数动态创建行。表单用于更新记录。它在我为测试创建的单独测试文件中工作,但在我将其与实际文件合并时则不行。

<form role="form" id="edit_form" class="form-inline" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>?action=edit_menu" method="post"></form>

<table class="table">
    <thead>
        <tr>
            <th>Name</th>
            <th>Price</th>
            <th>Item 1</th>
            <th>Item 2</th>
            <th>Item 3</th>
            <th>Item 4</th>
            <th>Item 5</th>
            <th>Item 6</th>
            <th>Item 7</th>
            <th>Item 8</th>
        </tr>
    </thead>
    <tbody>
        <?php
            foreach($menu_items as $key => $value){
                echo "
                <tr>
                    <td>
                    <input type='text' name='name".$count."' form='edit_form' value=".$value["name"].">
                    </td>
                    <td>
                    <input type='text' name='price".$count."' form='edit_form' value=".$value["price"].">
                    </td> 
                    <td>
                    <select form='edit_form' name='item1".$count."'>
                        <option>".$value["item1"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                    <select form='edit_form' name='item2".$count."'>
                        <option>".$value["item2"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                    <select form='edit_form' name='item3".$count."'>
                        <option>".$value["item3"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                    <select form='edit_form' name='item4".$count."'>
                        <option>".$value["item4"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                    <select form='edit_form' name='item5".$count."'>
                        <option>".$value["item5"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                    <select form='edit_form' name='item6".$count."'>
                        <option>".$value["item6"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                    <select form='edit_form' name='item7".$count."'>
                        <option>".$value["item7"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                    <select form='edit_form' name='item8".$count."'>
                        <option>".$value["item8"]."</option>";
                        foreach ($db_items as $keys => $values) {
                            echo "<option value=".$values["name"].">".$values["name"]."</option>";
                        }
                echo "
                    </select>
                    </td>
                    <td>
                        <input type='hidden' name='id".$count."' form='edit_form' value=".$value["id"].">
                        <input type='submit' class='btn btn-xs green-haze' name='count".$count."' form='edit_form' value='Edit'>
                    </td>   
                </tr>"; 
                if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_GET['action'] == 'edit_menu') {
                    if(isset($_POST['count'.$count.''])){

                        $update_menu = "UPDATE `menu` 
                        SET `name`= '".$_POST["name".$count]."',`price`='".$_POST["price".$count]."',`item1`='".$_POST["item1".$count]."',`item2`='".$_POST["item2".$count]."',`item3`='".$_POST["item3".$count]."',`item4`='".$_POST["item4".$count]."',`item5`='".$_POST["item5".$count]."',`item6`='".$_POST["item6".$count]."',`item7`='".$_POST["item7".$count]."',`item8`='".$_POST["item8".$count]."' 
                        WHERE `id`='".$_POST["id".$count]."'";

                        if ($conn->query($update_menu)) {
                            header('Location: '.$_SERVER['PHP_SELF']);
                            die;    
                        }
                    }
                }                          
                $count++;
            }
        ?>
    </tbody>
</table>

这是表格以及我在其中创建的表格。数据库连接没有问题(所有其他表单都正常工作)。

没有错误。 $ conn-&gt; query()返回true并执行我在if()中放置的任何语句,但它仍然不更新数据库。

如果有帮助,我可以分享其余的脚本。

谢谢

0 个答案:

没有答案