簡體   English   中英

使用Express和Node.js將記錄插入MySQL的問題

[英]Issue Inserting Records Into MySQL With Express and Node.js

我遇到了我的INSERT代碼不起作用的問題。 我可以從數據庫中選擇數據,但不能添加數據。 當我運行http://18.219.103.143:3000/insert-user?fname=new&lname=user&email=ejw&password=hsdf我在控制台中收到服務器錯誤。 在此處輸入圖片說明

我在想這個app.get

app.get('/insert-user',function(req,res,next){
  var context = {};
  pool.query("INSERT INTO user (`fname`, `lname`, `email`, `password`) VALUES (?,?,?,?)", 
  [req.query.fname, req.query.lname, req.query.email, req.query.password], 
  function(err, result){
    if(err){
      next(err);
      return;
    }
    context.results = "Inserted id " + result.insertId;
    res.render('home',context);
  });
});

但是,我無法獲取任何消息以打印到控制台進行調試。 但是,我想,因為我可以使用SELECT語句連接到數據庫,所以連接不是問題。 幾乎好像app.get INSERT甚至沒有被執行。 有沒有人想出一種有效的方法來調試它? 我碰壁了,無法確定下一步最好的方法是什么。

首先,我將在運行服務器的終端中查看。 如果沒有輸出,我將您的腳本修改為以下內容

app.get('/insert-user',function(req,res,next){
  var context = {};
  pool.query("INSERT INTO user (`fname`, `lname`, `email`, `password`) VALUES (?,?,?,?)", 
  [req.query.fname, req.query.lname, req.query.email, req.query.password], 
  function(err, result){
    if(err){
      console.log(err); // <= add this
      next(err);
      return;
    }
    context.results = "Inserted id " + result.insertId;
    res.render('home',context);
  });
});

然后嘗試再次擊中您的端點。 希望記錄錯誤的詳細信息(在終端中,而不是在瀏覽器中)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM