记录未从数据库中删除

时间:2016-06-23 22:24:13

标签: php mysql

我使用以下代码在网站表上显示MySQL记录。 这是删除按钮的列:

<td align="center"><a id="<?php echo $row['id_peticion']; ?>" class="delete-link" href="#" title="Delete">
            <img src="delete.png" width="20px" />
            </a></td>

这是用户点击删除按钮时调用的JS代码:

/* Data Delete Starts Here */
    $(".delete-link").click(function()
    {
        var id = $(this).attr("id");
        var del_id = id;
        var parent = $(this).parent("td").parent("tr");
        if(confirm('Seguro que quieres borrar la petición # = ' +del_id))
        {
            $.post('delete.php', {'del_id':del_id}, function(data)
            {
                parent.fadeOut('slow');
            }); 
        }
        return false;
    });
    /* Data Delete Ends Here */

这是来自delete.php的代码

<?php
include_once 'dbconfig.php';

if($_POST['id_peticion'])
{
    $id = $_POST['id_peticion'];    
    $stmt=$db_con->prepare("DELETE FROM tbpeticiones WHERE id_peticion=:id");
    $stmt->execute(array(':id'=>$id));  
}
?>

单击时,记录会从表中消失,但不会从数据库中删除。

我找不到原因...... 谢谢

2 个答案:

答案 0 :(得分:2)

您的帖子密钥是del_id而非id_peticion,如jquery中所指定的那样:

$.post('delete.php', {'del_id':del_id}, function(data)

答案 1 :(得分:2)

您正在检查$_POST['id_peticion'],而删除ID将在$_POST['del_id']中。将您的代码更改为:

if($_POST['del_id'])
{
    $id = $_POST['del_id'];    
    $stmt=$db_con->prepare("DELETE FROM tbpeticiones WHERE id_peticion=:id");
    $stmt->execute(array(':id'=>$id));  
}