Node.js + MySQL: Двойное "?" Заполнитель - PullRequest
0 голосов
/ 25 мая 2020

Я делаю приложение для тайм-карт.

но const updatesql = "UPDATE users SET ? WHERE ?"; не работает ...

Как использовать PlaceHolder MySQL и Node.js? В частности, двойной заполнитель SET ? WHERE ?.

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");
  };
};

1 Ответ

0 голосов
/ 25 мая 2020

Можно сделать что-то вроде этого

var sql = 'SELECT * FROM customers WHERE name = ? OR address = ?';
con.query(sql, [name, adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...