删除PHP/Oracle上的记录不起作用



这是我的应用程序中出现问题的部分:

https://github.com/ashcrimson/newcyc/tree/master/pages/mantenedores/monedas/monedasList

在model.php的第33行,我有这个:

public function delete($id): self{
$sql = $this->pdo->prepare("DELETE FROM MONEDA WHERE CODIGO = :id");
$sql->execute(["id", $id]);
}

在view.php的第117行,我得到了应该删除数据库中记录的表单:

<?php if(!$monedas["ELIMINADO"]) { ?>
<a href="<?=base("/monedas/new?id=").$monedas["CODIGO"];?>" class="btn btn-primary btn-xs"><i class="fa fa-pencil-alt"></i> Editar</a>
<a href="#" class="btn btn-danger btn-xs" data-target="#deleteModal<?= $monedas["CODIGO"]; ?>" data-toggle="modal"><i class="far fa-trash-alt"></i> Eliminar</a>
<!-- modal starts -->
<div class="modal fade" id="deleteModal<?= $monedas["CODIGO"]; ?>">
<div class="modal-dialog">
<div class="modal-content">
<form class="form-horizontal" method="post" action="<?=base("/monedas/delete?id=").$monedas["CODIGO"];?>" >
<div class="modal-header">
<h4 class="modal-title"> Borrar <?= $monedas["NOMBRE"]; ?> </h4>
<button type="button" class="close" data-dismiss="modal">&times;</button>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-default">Continuar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</div>
</form>
</div>
</div>
</div> 
<!-- modal ends -->
<?php
}else{
?>
<a href="#" class="btn btn-xs btn-success" data-target="#restoreModal<?= $monedas["CODIGO"]; ?>" data-toggle="modal"><i class="fas fa-arrow-circle-up"></i> Restaurar</a>

我不明白为什么它不起作用。也许是因为路线不好?

执行中的代码是错误的!尝试使用:

$sql->execute([':id' => $id]);

你应该把价值放在你的:id

或者你可以使用?而不是:

$sql = $this->pdo->prepare("DELETE FROM MONEDA WHERE CODIGO = ? ");
$sql->execute([$id]);

最新更新