簡體   English   中英

如何使用pdo更新php中的字符串值

[英]how to update string value in php with pdo

我試圖更新評論表中的狀態字段,但失敗。

這是我的表格:

  <?php
                        if ($result['comment_status'] == "approved") {
                        ?>
                        <form action="" method="post">
                            <input type="hidden" name="comment_id" value="<?php echo $result['comment_id'] ?>">
                            <button type="submit" name="disapproved" class="btn btn-primary btn-sm">DisApprove
                            </button>
                        </form>
                        <?php
                        } else {
                            ?>
                            <form action="" method="post">
                                <input type="hidden" name="comment_id" value="<?php echo $result['comment_id'] ?>">
                                <button type="submit" name="approved" class="btn btn-primary btn-sm">Approve</button>
                            </form>
                            <?php
                        }
                        ?>

這是我的php代碼(查詢):

if (isset($_POST['comment_id']) && is_numeric($_POST['comment_id']) && $_POST['comment_id'] > 0) {
                $comment_id = $_POST['comment_id'];
            }

 if (isset($_POST['disapproved'])) {
                $query = $connection->prepare("UPDATE comments SET comment_status = 'approved' WHERE comment_id = $comment_id");

                confirm($query->execute(), "Comment approved successfully", "info");
            }

            if (isset($_POST['approved'])) {
                $query = $connection->prepare("UPDATE comments SET comment_status = 'disapproved' WHERE comment_id = $comment_id");

                confirm($query->execute(), "Comment disapproved successfully", "info");
            }

我不知道為什么它不更新

太多的代碼重復...

<form action="" method="post">
    <input type="hidden" name="comment_id" value="<?php echo $result['comment_id'] ?>">
    <input type="hidden" name="status" value="<?=($result['comment_status'] == "approved")?>">
    <button type="submit" class="btn btn-primary btn-sm"><?= ($result['comment_status'] == "approved" ? 'DisApprove' : 'Approve' ) ?></button>
</form>

PHP代碼。 您應該綁定comment_idstatus

if (isset($_POST['comment_id']) & ... && isset($_POST['status'])) {
    $comment_id = $_POST['comment_id'];
    $status = $_POST['status'] ? 'disapproved' : 'approved';
    $query = $connection->prepare("UPDATE comments SET comment_status = :status WHERE comment_id = :comment_id");
    $query->bindValue(':comment_id', $comment_id, PDO::PARAM_INT);
    $query->bindValue(':status', $status, PDO::PARAM_STR); 
    confirm($query->execute(), "Comment disapproved successfully", "info");
}

應該可以嘗試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM