php - 如何使用 AJAX 删除 mySql 表行

标签 php jquery mysql

<分区>

var table = "users";
var id = 25;

$("#btndel").click(function() {
    if (confirm("Are you sure ?")) {
        $.ajax({
            url: 'ajaxdel.php',
            type: 'post',
            data: {
                'table': 'table', 
                'id': 'id'
            },
            success: function() {
                location.href = "index.php";
            }
        })
    }
});

ajaxdel.php

extract($_POST);
$stmt = $db->prepare('DELETE FROM '.$table. ' WHERE id = :id') ;
$stmt->execute(array(':id' => $id));

表格行没有被删除。

最佳答案

首先,您将字符串 'table''id' 作为 POST 参数传递,而不是各自变量的内容:

data: {'table': 'table', 'id': 'id'},

相反,您想传递变量值:

data: {'table': table, 'id': id},

在将代码放在生产系统附近之前,您还应该认真考虑可能存在的漏洞。

关于php - 如何使用 AJAX 删除 mySql 表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37888711/

相关文章:

javascript - Bootstrap-Datepicker 无法获取日期?

javascript - 使用 AJAX 进行验证

javascript - 我想在 jquery 对话框中从数据库获取 id

php - JavaScript 仅用于验证已检查的提交

php - 如何在mysql select查询中传递数组值

php - 如何建立一个给积分的paypal捐赠系统

javascript - jQuery:使用对象值和子值设置元素属性

javascript - 如何控制 jquery 验证错误消息

mysql - 使用字符索引查找数值

mysql - Rails : simple_form that fills multiple, 连接表