插入查询不插入数据库

时间:2017-11-01 09:09:29

标签: php mysql insert

所以我试图在已经存在的表中插入一些文本。如果我将文本插入文本字段并按提交,我将在另一页上显示一个var_dump,显示我想要插入的信息,但它不会将其发送到数据库或其他东西。我希望你能帮我解决我做错的事。

这是我的插入查询

public function insertComment($commentaar, $idBestelling){
    try{
        $stmt = $this->_db->prepare('UPDATE  `apotheek`.`Bestelling` SET  `commentaar` =  :commentaar WHERE  `Bestelling`.`idBestelling` = :idBestelling;');
            if($stmt->execute(array(
            ':commentaar' => $commentaar,
            ':idBestelling' => $idBestelling))){
                return true;
            } else {
                return false;
            }
    } catch(PDOException $e) {
        echo '<p class="bg-danger">'.$e->getMessage().'</p>';
    }
}

在这里,您可以从网页上找到代码。

<div class="row">
<form role="form" method="post" action="/?content=bezorgen">
<div class="col-xs-12 col-sm-12 col-md-12 loginborder">
    <h2 class="loginhead">Bestelling no. <?php print($data['idBestelling']); ?> <?php ($data['isSpoed'] == '0') ? print('') : print('deze bestelling is met SPOED') ?></h2>
    <hr>
    <div class="row col-6 col-md-6 col-sm-12 col-xs-12">
        <div class="loginhead">
            <h3>Commentaar</h3>
            <hr>
        </div>
        <div>
        <textarea  rows="9" cols="74" name="commentaar"><?php print($data['commentaar']); ?></textarea>
        </div>
    </div>
    <div class="row registerbtn">
        <div class="col-xs-12 col-md-12" style="text-align:right;"><input type="submit" name="submit" value="Verstuur" class="btn btn-lg" tabindex="5"></div>
    </div>
</div>
</form>

和php

$data = $user->getBestellingPatient($_POST['idBestelling']);
if(isset($_POST['submit'])){
    $user->insertComment($_POST['commentaar'], $_POST['idBestelling']);
};

2 个答案:

答案 0 :(得分:0)

我认为您正在尝试更新数据库中已存在的评论。

您应该在表单中添加一个隐藏字段来保存帖子的ID(主要是自动增加来自DB的ID)

在textarea元素下添加以下元素

<input type='hidden' name='idBestelling'<?php print($data['idBestelling']); ?>/>

因此,当您更新ID时,将作为表单的一部分传递,然后您可以使用$ _POST

接收它

答案 1 :(得分:-1)

你应该试试这个:

   $stmt = $this->_db->query('UPDATE  `apotheek`.`Bestelling` SET  `commentaar` =  :commentaar WHERE  `Bestelling`.`idBestelling` = :idBestelling;');