nodejsで正しいmysqlの挿入?

rickster26ter1:

私は私のnodejsが私のmysqlデータベースに挿入するために取得しようとしていますが、私はパースエラーを取得しています。誰がエラーを見ることができれば、ヘルプしてください:

    var con = mysql.createConnection({
  host: "XXX",
  user: "XXX",
  password: "XXX",
  database: "XXX"
});
con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql;
  if(req.body.role == "tutor")
  {
     sql = 'INSERT INTO Tutor (sesh_save) VALUES ? ';
  }
  else if(req.body.role == "student")
  {
     sql = 'INSERT INTO Students (sesh_save) VALUES ?'; 
  } 
  var yoy = 'yoy';
  con.query(sql, yoy, function (err, result) {
    if (err) throw err;
    console.log("1 record inserted");
  });

エラー:ER_PARSE_ERROR:あなたのSQL構文でエラーが発生しています。マニュアルをチェックし、その行1の「」前年比+「」の近くに使用する権利構文についてはMySQLサーバのバージョンに対応

おかげで再び...申し訳ありませんが、これはばかな質問ですが、mysqlの挿入が常にデバッグに私のために難しいことである場合。

ビラルSiddiqui著:

あなたのケースでの配列としてcon.query必要としている第二引数:

前年比可変の周り[]配列のブラケットを追加

con.query(sql, [yoy], function (err, result) {
    if (err) throw err;
    console.log("1 record inserted");
});

あなたは、配列括弧を使用しない場合は別の方法として、値の括弧()を追加します

following-であなたのSQL行を置き換え

   if (req.body.role == "tutor") {
     sql = 'INSERT INTO Tutor (sesh_save) VALUES (?) ';
   }
   else if (req.body.role == "student") {
     sql = 'INSERT INTO Students (sesh_save) VALUES (?) '; 
   } 

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=6151&siteId=1