Я выполняю операции CRUD, используя MYSQL и NodeJS Express. Их ошибка при удалении записи из БД, я не знаю, почему у меня возникла проблема, поскольку я скопировал запрос на удаление из 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.info('Successful deleted!! \n');
resp.json(rows);
}else{
console.info('Error in deleting');
}
});
})
app.listen(1337);
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.info('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.info("Example app listening at http://%s:%s", host, port)
});
//rest api to delete record from mysql database
app.delete('/employees', function (req, res) {
console.info(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!');
});
});
Вам нужно получить доступ к параметру маршрута id
в методе удаления API-узла, а затем также привязать это значение 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.info('Successful deleted!! \n');
resp.json(rows);
}
else {
console.info('Error in deleting');
}
});
})
Вероятно, вам следует задать новый вопрос, так как это требование сильно отличается от того, что вы задали выше (и того, на что ответили несколько пользователей).
сэр, не могли бы вы дать мне краткий обзор вставки записи? Я получаю ту же ошибку при вставке записи. Спасибо