Express.js throw err; // Повторное удаление ошибок, отличных от MySQL

#javascript #mysql #node.js #express

#javascript #mysql #node.js #выразить

Вопрос:

Я пытаюсь создать API с помощью express и mysql. Моя проблема в том, что когда я отправляю запрос на свой сервер узлов (с Insomnia ), но каждый раз я получаю сообщение об ошибке…

node_modules/mysql/lib/protocol/Parser.js: 437 ошибка выброса; // Повторное удаление ошибок, отличных от MySQL

Ошибка типа: невозможно использовать оператор ‘in’ для поиска ‘typeCast’ в null

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

var con = mysql.createPool({
    host: "localhost",
    user: "root",
    password: "psword",
    database: "bd"
  });
  

var app = express(); 

var express = require('express'); 

var hostname = 'localhost'; 
var port = 3000; 
 
var app = express(); 

var myRouter = express.Router(); 
 

myRouter.route('/:montant/:sec/:loc/:statut/:type/:anc/:caff')

.get(function(req,res){ 
    var sql= "select * from plateforme";
    con.getConnection(function(sql) {
        con.query(sql, function (result) {
          if (err) {
            console.log("Errore login: "   err);
        }
        else {
          console.log("Result: "   result);
          if(result.length > 0){
            console.log(result[0].IdUtente);
            IdUtente = result[0].IdUtente;
       }
      }
        });
      });
      res.json({montant : req.params.montant ,secteur : req.params.sec, localisation:  req.params.loc ,statut: req.params.statut, 
        type: req.params.type, anciente: req.params.anc ,chiffreAffaire: req.params.caff, methode : req.method});
        
})

  

Я не знал, возникла ли эта ошибка из моего кода или библиотеки.
И я перепробовал всю тему stackoverflow, но никто не решил мою проблему.

Обновить :

 con.getConnection(function(err, connection)  {
        var sql= "select * from plateforme";
        connection.query(sql, function (result) {
          if (err) throw err;
          //console.log("Result: "   result);
          if(result.length > 0){
              console.log(result[0].IdUtente);
              IdUtente = result[0].IdUtente;
       }
      }
        );
      });
con.releaseConnection();


  

Новая ошибка :

ошибка выброса; // Повторное удаление ошибок, отличных от MySQL ^

Ошибка типа: не удается прочитать свойство ‘length’ из null

Комментарии:

1. это должно быть con.getConnection(function(err, connection) { вашей передачей неправильной вещи con.query(sql, , которая должна быть connection.query(sql, на самом деле, вы должны перепроверить документы

2. кроме того, если вы используете пул, вам следует разорвать соединение, иначе соединения закончатся

3. Я меняю свой код, как вы мне сказали, но теперь я получаю ошибку выброса; // Повторное удаление ошибок, не связанных с MySQL ^ Ошибка типа: не удается прочитать свойство ‘length’ null

4. можете ли вы внести изменения с помощью обновленного кода?

5. также не уверен, что con.releaseConnection это такое, оно также должно быть внутри после запроса и connection.release() быть все в документах с хорошими примерами: github.com/mysqljs/mysql#pooling-connections