0

私は安らかなApi nodejsを開発しています.私の最初のステップはデータ構造を使用することでした.すべてのプロセスは適切でした.バッドは今、postgresqlを使用して持続性を備えたcrudを実装したいのですが、ポストエンドポイントで立ち往生しています,私のクエリはそうではありません.私の努力にもかかわらず合格します。

Get endpoint は正常に動作し、必要なものはすべてインストール済みで、post エンドポイントでブロックされているだけです。私のコードの下を見つけてください

router.post('/', function(req, res, next) {
pool.connect(function (err, client, done) {
if (err) {
    console.log("Can not connect to the DB" + err);
}
client.query('INSERT INTO users(firstname, lastname, othername, email, 
phoneNumber, username, registered, isAdmin) VALUES($1, $2, $3, $4, 5$, 
6$, 7$, $8) returning *',
[req.body.firstname, req.body.lastname, req.body.othername, 
req.body.email, req.body.phoneNumber, req.body.username, 
req.body.registered, req.body.isAdmin ], 
function (err, result) {
     done();
     if (err) {
         console.log(err);
         res.status(400).json({
           status : 400,
           error : err
         });
     }
     res.status(200).json({
       status : 200

      });
  });
});  

データベースにデータを挿入する代わりに、次のエラーが表示されます

 {
"status": 400,
"error": {
    "name": "error",
    "length": 106,
    "severity": "ERREUR",
    "code": "42601",
    "position": "126",
    "file": "scan.l",
    "line": "1134",
    "routine": "scanner_yyerror"
}
}

Postman で実行している場合、console.log(err) はこれを示します

{ error: erreur de syntaxe sur ou près de « $ »
at Connection.parseE (E:\Bootcamp_prep\MAPI\node_modules\pg\lib\connection.js:554:11)
at Connection.parseMessage (E:\Bootcamp_prep\MAPI\node_modules\pg\lib\connection.js:379:19)
at Socket.<anonymous> (E:\Bootcamp_prep\MAPI\node_modules\pg\lib\connection.js:119:22)
at Socket.emit (events.js:182:13)
at addChunk (_stream_readable.js:283:12)
at readableAddChunk (_stream_readable.js:264:11)
at Socket.Readable.push (_stream_readable.js:219:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)  name: 'error',
4

2 に答える 2

0

この問題はすでに修正されています...テーブル列の大文字が原因でした..posgresqlは列の大文字を処理しません.. thx any was

于 2019-01-09T17:43:00.167 に答える