我的php代码没有更新数据库中的值

70gysomp  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(236)

我曾试图写一个代码,在数据库中使用管理面板更新类别,但每当我试图这样做,它不会工作,我没有得到任何错误,看看它,请帮助家伙;谢谢
php代码:

<?php

               if (isset($_GET['edit'])) {
                   $edit_id = $_GET['edit'];
                $query = "SELECT * FROM categories WHERE category_id = $edit_id ";
                $edit_get_result = mysqli_query($connection,$query);
                if (!$edit_get_result) {
                    die("Edit Get Result Query FAILED");
                }
                while ($category_name_row=mysqli_fetch_assoc($edit_get_result)) {
                    $category_name = $category_name_row['category_name'];
                }
                ?>
                <center>
                 <form action="category.php" method="POST">

                 <div class="form-group">
                    <label for="update_category">Update Category</label>
                    <input type="text" class="form-control" id="update_category" value="<?php if(isset($category_name)){echo $category_name; } ?>" name="update_category" aria-describedby="emailHelp" placeholder="Enter Category Name">
                  </div>
                  <button type="submit" name="update_category_submit" class="btn btn-primary">Update</button>

                </form>
            </center>

                <?php

                if (isset($_POST['update_category_submit'])) {
                    $category_name = $_POST['update_category'];
                    $query = "UPDATE categories SET category_name = '$category_name' WHERE category_id = $edit_id ";
                    $final_update_query_result = mysqli_query($connection,$query);
                    if (!$final_update_query_result) {
                        die("Final Update Query Result FAILED");
                    }
                }
            }

                ?>
3j86kqsm

3j86kqsm1#

嗨,我注意到你使用了原始输入。尽量避免。还注意到您的代码末尾有额外的花括号。
请在替换完您的结束页部分php脚本后尝试使用以下代码。

if (isset($_POST['update_category_submit'])) {
    $category_name = $_POST['update_category'];
    $query = "UPDATE categories SET category_name = '$category_name' WHERE category_id = $edit_id ";
    $final_update_query_result = mysqli_query($connection,$query);
    if (!$final_update_query_result) {
        die("Final Update Query Result FAILED");
    }
}

并将查询变量更改为:

$query = "SELECT * FROM categories WHERE category_id = ".$edit_id;
62o28rlo

62o28rlo2#

请检查下面的代码。您需要在表单帖子中传递编辑id。我把它放在一个隐藏的输入中,并根据php部分顶部的get参数设置它的值。

<?php
if (isset($_GET['edit'])) {
    $edit_id = mysqli_real_escape_string($connection,$_GET['edit']);
    $query = "SELECT * FROM categories WHERE category_id = '$edit_id' ";
    $result = mysqli_query($connection,$query);
    if(!$result) {
    die("Edit Get Result Query FAILED");
    }

    while ($row=mysqli_fetch_assoc($result)) {
    $category_name = $row['category_name'];
    }
?>
<center>
<form action="category.php" method="POST">

<div class="form-group">
<label for="update_category">Update Category</label>
<input type="text" class="form-control" id="update_category" value="<?php if(isset($category_name)){echo $category_name; } ?>" name="update_category" aria-describedby="emailHelp" placeholder="Enter Category Name">
</div>
<input type="hidden" name="edit_id" value="<?php if(isset($edit_id)) echo $edit_id;?>">
<button type="submit" name="update_category_submit" class="btn btn-primary">Update</button>

</form>
</center>

<?php

if (isset($_POST['update_category_submit']) && isset($_POST['edit_id'])) {
    $category_name = mysqli_real_escape_string($connection,$_POST['update_category']);
    $edit_id = mysqli_real_escape_string($connection,$_POST['edit_id']);

    $query = "UPDATE categories SET category_name = '$category_name' WHERE category_id = $edit_id ";
    $result = mysqli_query($connection,$query);
    if (!$result) {
    die("Final Update Query Result FAILED");
    }
    else echo "Final Update Query Result Success";
}

?>

相关问题