PHP отправить запрос, передавая значения динамически - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь передать два значения name и company на сервер, но он всегда передает их в виде строки.

app.post('/visitors/store', (req, res) => {
const name = req.body.name; (User1)
const company = req.body.company; (Google)
con.query("INSERT INTO visitors(name, company) VALUES(`name`,`company`)", (results) => {
            res.json(results);
        });
  })

Проблема в этой части строки "VALUES (name, company) "

Результат в базе данных atm: name = name, company = company

Мне нужны следующие результаты: name = User1, company = Google

Спасибо за любая помощь

Ответы [ 2 ]

2 голосов
/ 17 января 2020

В зависимости от вашей среды вы также должны экранировать значения запроса. Если вы используете mysql, у вас должно получиться что-то вроде этого:

app.post('/visitors/store', (req, res) => {
const name = req.body.name;
const company = req.body.company;
con.query("INSERT INTO visitors(name, company) VALUES(?,?)", [name, company], (results) => {
    res.json(results);
});

или без экранирования:

app.post('/visitors/store', (req, res) => {
const name = req.body.name;
const company = req.body.company;
con.query(`INSERT INTO visitors(name, company) VALUES(${name}, ${company})`, (results) => {
    res.json(results);
});
1 голос
/ 17 января 2020

Просто затормозите строку запроса и включите в нее фактические переменные:

app.post('/visitors/store', (req, res) => {
    const name = req.body.name;
    const company = req.body.company;
    con.query("INSERT INTO visitors(name, company) VALUES('" + name + "','" + company + "')", (results) => {
        res.json(results);
    });
});

...