javascript - 如何允许仅删除登录用户

标签 javascript mysql node.js

我正在尝试创建一个删除函数,仅当该行是由同一登录用户创建时才删除该行。因此,如果该行不是由该用户创建的,则无法删除该行。

这是我到目前为止所拥有的(Javascript):

app.post('/Update_Award', function(request, response) {
        var connection = request.app.get('pool');
        if (request.session.loggedin) {
            //delete query
        connection.query('SELECT username FROM accounts', [request.session.username], function (error, results, fields) {
            //if (results[0].username === request.session.username) {

            connection.query('DELETE FROM award WHERE id = ?', [request.body.id], function(error, results, fields) {
             //do something
            } else {
                console.log("No access");
            }

MySQL 帐户表有“id”列和“username”列。我想要的是,只有由相同登录用户 ID 创建的行才能被删除。

创建的行由颁发者ID 标识。因此,我将删除由行 ID 指定的行以及由 isserID 创建的行。

最佳答案

您可以将代码更改为

app.post('/Update_Award', function(request, response) {
  var connection = request.app.get('pool');
  if (request.session.loggedin) {
    connection.query('DELETE FROM award WHERE id IN (SELECT id FROM accounts WHERE username = ?)', [request.session.username], function(error, results, fields) {
      if (//your condition) {
        //do something
      } else {
        console.log("No access");
      }
    })
  }
})

关于javascript - 如何允许仅删除登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169803/

相关文章:

php - 从 MySQL 获取值以检查单选按钮会生成通知

java - 连接 Java 对象和 MySql 表

node.js - Node 串口不适用于 Electron

javascript - JQuery Tablesorter - 保持第一行不变

javascript - 如何检测文本输入何时随 ie8 更改

javascript - Handsontable 弹出自动完成编辑器在水平滚动条处被切断

javascript - Gulp 任务中 `return` 语句和 `callback` 引用的用途

javascript - 在 Google Apps 脚本中异步保存复选框

php - 插入数组上的 zend db 引号(转义)将引号添加到字符串

node.js - 在 ffmpeg 中生成屏幕截图花费太长时间