【问题标题】:Error in delete DB record using Node.JS and MYSQL使用 Node.JS 和 MYSQL 删除数据库记录时出错
【发布时间】:2021-04-03 08:35:52
【问题描述】:

我正在使用 MYSQL 和 NodeJS express 执行 CRUD 操作。他们从数据库中删除记录时出错,我不知道为什么我会遇到问题,因为我已经从 SQL 中复制了删除查询,它工作正常。这里是'DELETE FROM tblltest WHERE id=?'。我手动添加'id',如'DELETE FROM tblltest WHERE id=2',然后它将从数据库中删除记录。请帮我解决这个问题。这是我的代码行。

 var express = require('express');
    var mysql = require('mysql');
    var app = express();

var connection = mysql.createConnection({
    
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'sampledb'
    
});

app.delete('/:id' , function(req , resp) {
    connection.query('DELETE FROM `tblltest` WHERE `id`=?' , function(error , rows , fields){
        if(!error){
            
            console.log('Successful deleted!! \n');
            resp.json(rows);
            
        }else{
            console.log('Error in deleting');
        }
        
    });
})

app.listen(1337);

【问题讨论】:

    标签: mysql node.js express xampp


    【解决方案1】:

    您需要在您的删除 API 节点方法中访问 id 路由参数,然后还将此 id 值绑定到删除查询:

    app.delete('/:id', function(req, resp) {
        var id = req.params.id;
    
        connection.query('DELETE FROM tblltest WHERE id = ?', [id],
            function(error, rows, fields) {
                if (!error) {
                    console.log('Successful deleted!! \n');
                    resp.json(rows);    
                }
                else {
                    console.log('Error in deleting');
                }
            });
    })
    

    【讨论】:

    • 先生,您能否给我一个关于插入记录的简短评论我在插入记录时遇到了同样的错误。谢谢
    • 您可能应该提出一个新问题,因为此要求与您上面提出的问题(以及多个用户的回答)非常不同。
    【解决方案2】:
    var express = require('express');
    var app = express();
    var mysql      = require('mysql');
    var bodyParser = require('body-parser');
     
    //start mysql connection
    var connection = mysql.createConnection({
      host     : 'localhost', //mysql database host name
      user     : 'root', //mysql database user name
      password : '', //mysql database password
      database : 'sampledb' //mysql database name
    });
     
    connection.connect(function(err) {
      if (err) throw err
      console.log('You are now connected...')
    })
    //end mysql connection
     
    //start body-parser configuration
    app.use( bodyParser.json() );       // to support JSON-encoded bodies
    app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
      extended: true
    }));
    //end body-parser configuration
     
    //create app server
    var server = app.listen(1337,  "127.0.0.1", function () {
     
      var host = server.address().address
      var port = server.address().port
     
      console.log("Example app listening at http://%s:%s", host, port)
     
    });
     
    
     
    //rest api to delete record from mysql database
    app.delete('/employees', function (req, res) {
       console.log(req.body);
       connection.query('DELETE FROM `tblltest` WHERE `id`=?', [req.body.id], function (error, results, fields) {
          if (error) throw error;
          res.end('Record has been deleted!');
        });
    });
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多