

以下のようにMySQLのテーブル情報をとってきて、押すボタンによって処理を振り分けたいと思っております。  
しかし、updatesqlのようにプレースホルダが2つある場合、どのようにnode側で指定してあげればよいのか分かりません。

[code]

    const checksql = "SELECT * FROM users WHERE name = ?";
    const checkname = "SELECT status FROM users WHERE name = ?";
    
    const updatesql = "UPDATE users SET ? WHERE ?";
    
    if(req.body.begin_button){
        var name_checked = await query(checksql,{ name: req.body.input_name });
        var status_checked = await query(checkname,{ name: req.body.input_name});
    
    if(name_checked == 0){
          var results = await query(sql, { id: id, name: req.body.input_name, email: req.body.input_mail, start: now, status: 1 });
        }else{
          console.log("error");
        };
      }
      else if(req.body.finish_button){
        if(name_checked != 0){
          var results = await query(updatesql, { end: now, status: 0});
        }else{
          console.log("error");
        }
      }
      else if(req.body.start_button){
        if(status_checked == 1){
          var results = await query(updatesql, { restbegin: now, status: 2 });
        }else{
          console.log("error");
        };
      }else if(req.body.end_button){
         if(status_checked == 2){
            var results = await query(updatesql, { restend: now, status: 3 });
         }else{
            console.log("error");
         };
    
      };
    
[/code]


CC BY-SA 4.0
2020-05-25T13:39:01.220
66979
2022-01-10T05:00:34.330
2022-01-10T05:00:34.330
32986
40326
question
javascript html mysql node.js
Node + MySQLで、プレースホルダを用いてUPDATEしたい

[code]

    UPDATE users SET xxx = ?, xxx = ? WHERE xxx = ?
    
[/code]

として、各If文内にそれぞれもってくることで解決できました。  
ありがとうございました。


CC BY-SA 4.0
2020-05-26T11:34:08.143
67008
2020-05-26T11:34:08.143
40326
66979
answer