Почему в моей базе данных отображается неопределенное значение, даже если я вставил данные в POSTMAN? - PullRequest
1 голос
/ 26 июня 2019

Ниже приведен мой код для вставки данных в MYSQL в ExpressJS.

router.post('/user', function (req, res) {
        let sql = "INSERT INTO Member (id, Memb_ID, First_Name, Middle_Name, Last_Name, Address, url) VALUES (null, '" + req.body.Memb_ID + "',  '" + req.body.First_Name + "', '" + req.body.Middle_Name + "', '" + req.body.Last_Name + "', '" + req.body.Address + "', '" + req.body.url + "')";

        myDB.query(sql, function (err, results) {
            if (err) throw err;
            res.send({
                Success: "Data inserted."
            })

        });
    });

Он вставляет данные в мою базу данных, но моя база выглядит следующим образом

DB

Я не знаю, почему это выводиткак это.Вот мой JSON enter image description here

РЕДАКТИРОВАТЬ : Вот мой стол MYSQL TABLE

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

На вашем изображении звонка почтальона четко видно, что ваш тип контента text.

  1. Измените Тип контента на application/json в заголовках звонка почтальона
  2. ИлиВы можете выбрать из вкладки тела enter image description here

Поскольку ваше тело было text, как показано на вашем изображении, оно отправляло простой текст, который приводил к неопределенному в БД,Но сервер ожидал json.

Надеюсь, это поможет.

0 голосов
/ 26 июня 2019

Можете ли вы убедиться, что сделано следующее?

  1. Заголовок content-type в запросе должен быть application/json

  2. Используйте body-parser (или аналогичные библиотеки) для анализа полезных нагрузок JSON -> Вы можете распечатать req.body для проверки этого.

  3. Если вы можете подтвердить, что значения доступны, я бы рекомендовал экранировать значения запроса, как указано в https://github.com/mysqljs/mysql#escaping-query-values (или в любой используемой вами библиотеке mysql), тем более что это запрос DML.

(Также я предполагаю, что имена полей, используемые в запросе, совпадают с именами в базе данных и имеют правильный тип данных.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...