使用PHP更新MYSQL,而不是删除值

时间:2015-01-21 10:21:36

标签: php html mysql

所以,我有以下问题:

我有一个表格,我填写了MySQL数据库中的数据,然后在网站上显示。我想做到这一点你可以改变,例如之后的描述。相反,我现在得到的是我清空了价值。 我无法看到我的代码出错的地方,所以我很感激一些帮助。 :)

HTML

<tbody>
    <?php
        foreach($records as $r) {                       

    ?>
        <tr><?php
            echo "<td>" . "<div class=table-image>" . "<img src=Assets/Images/" . escape($r->name) . " </td>". "</div>";
            ?>
            <td><div class="data"><?php echo escape($r->name); ?></div></td>
            <td><div class="data"><?php echo escape($r->location); ?></div></td>
            <td><div class="data"><?php echo escape($r->partners); ?></div></td>
            <td><a href="https://goo.gl/maps/S5Drk" target="_blank">◈ Google Maps</a></td>
            <td class="tDesc">
                <div class="desc">
                    <input class="form-control"  value="<? echo escape($r->description); ?>" name="description" type="text">
                </div>
            </td>
            <td>
                <?php echo escape($r->date); ?>
            </td>
            <td>
                <form method="post" action="" enctype="multipart/form-data">
                    <input type="submit" value="<? echo escape($r->id); ?>" name="delete">
                </form>
            </td>
            <td>
                <form method="post" action="" enctype="multipart/form-data">
                    <input type="submit" value="<? echo escape($r->id); ?>" name="update">
                </form>
            </td>
        </tr>
    <?php
        }
    ?>
</tbody>

PHP

if(isset($_POST['update']) ){
    $des = $_POST['description'];
    $UpdateQuery = "UPDATE repo SET description = '$des', date = NOW() WHERE id ='$_POST[update]' ";          
    mysql_query($UpdateQuery);
};

1 个答案:

答案 0 :(得分:3)

您的字段位于表单之外,只会发送表单中的字段。

<input name="i_will_not_be_send" />
<form>
    <input name="i_will_be_send" />
</form>

始终转义您在查询字符串中输入的值,请参阅mysql_real_escape_string

另请阅读有关使用正确的mysql库的评论