所以我试图在已经存在的表中插入一些文本。如果我将文本插入文本字段并按提交,我将在另一页上显示一个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']);
};
答案 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;');