mysql无法根据前台得到的id来删除某一行 怎么解决?

从前台获取要删除的值以后传到后台,但是用sql语句无法删除数据库中对应的数据,但是换成对应的id就可以(比如说,DELETE FROM person WHERE id=id2无法实现删除功能,但是用DELETE FROM person WHERE id=20就可以删除id对应20的数据),通过console确定获得了每一行的id而且传到了后台。id2是我从前台得到的id,也是通过ajax传到后台的数据。
页面代码:

$('.c2').click(function () {
                    if(confirm('确认隐藏该专家信息?')){
                        $(this).parents('tr').remove();
                        var id1 = $(this).parents('tr');
                        var id2 = id1.children('td').html();
                        console.log(id2);
                        $.ajax({
                            url: 'guanli1/guanli1post2',
                            data: {
                                id2: id2
                            },
                            type: 'POST',
                            timeout: 36000,
                            dataType: 'text',
                            success: function (data, textStatus) {
                            }
                        });

                    }
                });

js代码:

router.post('/guanli1post2',function (req,res,next) {
    var id2 = req.body.id2;
    pool.getConnection(function (err,connection) {
        var $sql1 = 'DELETE FROM person WHERE id=id2';
        connection.query($sql1,[id2],function (err,result) {
            //connection.release();
        });
    });
});
阅读 3k
2 个回答
var $sql1 = 'DELETE FROM person WHERE id=id2';

改成

var $sql1 = 'DELETE FROM person WHERE id=' + id2;

单引号不解析变量

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题