mysql数据库的第二个q1wery出错

x6yk4ghg  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(238)

当我在启动服务器后发送第一个请求时,一切正常。但是在更新页面(重新查询)后,您会收到一个错误:

  1. app.get('/images', function(req, res, next) {
  2. if (connection.state === 'disconnected'){
  3. connection.connect();}
  4. else {
  5. }
  6. var DATABASE='nodejsImage';
  7. var results;
  8. connection.query('use ' + DATABASE);
  9. connection.query('SELECT `id`, `imagename`, `filename`, `speed`, `move` FROM `images` WHERE 1',
  10. function (err, results, fields) {
  11. if (err) return console.log("Error test") //throw err;
  12. else {
  13. console.log('Images list');
  14. console.log('----------------------------------');
  15. for (var i in results) {
  16. var gadget = results[i];
  17. console.log(gadget.id +': '+ gadget.imagename+': '+gadget.speed+': '+gadget.move);
  18. }
  19. res.render('imagelist', { title: 'Imagelist',listImages:results });
  20. }
  21. });
  22. connection.end(); //разобраться с ошибкой позже!!!
  23. });

错误消息:
events.js:165抛出器;//未处理的“错误”事件^

  1. Error: Cannot enqueue Handshake after invoking quit.
  2. at Protocol._validateEnqueue (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\protocol\Protocol.js:204:16)
  3. at Protocol._enqueue (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\protocol\Protocol.js:139:13)
  4. at Protocol.handshake (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\protocol\Protocol.js:52:23)
  5. at Connection.connect (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\Connection.js:118:18)
  6. at E:\Dropbox\untitled5-upload-3\untitled5\app.js:48:16
  7. at Layer.handle [as handle_request] (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\express\lib\router\layer.js:95:5)
  8. at next (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\express\lib\router\route.js:137:13)
  9. at Route.dispatch (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\express\lib\router\route.js:112:3)
  10. at Layer.handle [as handle_request] (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\express\lib\router\layer.js:95:5)
  11. at E:\Dropbox\untitled5-upload-3\untitled5\node_modules\express\lib\router\index.js:281:22
  12. Emitted 'error' event at:
  13. at Connection._handleProtocolError (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\Connection.js:425:8)
  14. at Protocol.emit (events.js:180:13)
  15. at Protocol._delegateError (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\protocol\Protocol.js:392:10)
  16. at Handshake.<anonymous> (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\protocol\Protocol.js:221:10)
  17. at Handshake.emit (events.js:180:13)
  18. at Handshake.Sequence.end (E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:12)
  19. at E:\Dropbox\untitled5-upload-3\untitled5\node_modules\mysql\lib\protocol\Protocol.js:225:14
  20. at process._tickCallback (internal/process/next_tick.js:112:11)
hmtdttj4

hmtdttj41#

这是一个简单的方法来添加通行证项目,以查看。

  1. var imageList = [];
  2. // Connect to MySQL database.
  3. var connection = getMySQLConnection();
  4. connection.connect();
  5. // Do the query to get data.
  6. connection.query('SELECT * FROM images', function(err, rows, fields) {
  7. if (err) {
  8. res.status(500).json({"status_code": 500,"status_message": "internal server error"});
  9. } else {
  10. // Loop check on each row
  11. for (var i = 0; i < rows.length; i++) {
  12. // Create an object to save current row's data
  13. var person = {
  14. 'id':rows[i].id,
  15. 'imagename':rows[i].imagename,
  16. 'filename':rows[i].filename,
  17. 'speed':rows[i].speed,
  18. 'move':rows[i].move
  19. }
  20. // Add object into array
  21. imageList.push(person);
  22. }
  23. // Render index.pug page using array
  24. res.render('imagelist', { title: 'Imagelist',listImages:imageList });
  25. }
  26. });
  27. // Close the MySQL connection
  28. connection.end();
展开查看全部

相关问题