Я получаю сообщение об ошибке при сохранении данных в mysql - PullRequest
0 голосов
/ 11 февраля 2020

Я использую npm модуль mysql2
Вот код:

var values = [['a', 'b', 'c', 'd', 'https://ne.wikipedia.org/wiki/%E0%A4%AE%E0%A5%81%E0%A4%96%E0%A5%8D%E0%A4%AF_%E0']];
    con.query(
      "INSERT INTO urlparse (title, description, author, keywords, url) VALUES ?",
      [values],
      function(err, result) { 
        if (err) throw err;
      }
    );
  });

И вот ошибка, которую я получаю:

                 ^
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''https://ne.wikipedia.org/wiki/%E0%A4%AE%E0%A5%81%E0%A4%96%E0%A5%8D%E0%A4%AF_%E0' at line 1
    at Packet.asError (/rbd/pnpm-volume/12c7da94-52ca-491c-a99d-4962bc1f1e80/node_modules/mysql2/lib/packets/packet.js:712:17)
    at Query.execute (/rbd/pnpm-volume/12c7da94-52ca-491c-a99d-4962bc1f1e80/node_modules/mysql2/lib/commands/command.js:28:26)
    at Connection.handlePacket (/rbd/pnpm-volume/12c7da94-52ca-491c-a99d-4962bc1f1e80/node_modules/mysql2/lib/connection.js:417:32)
    at PacketParser.onPacket (/rbd/pnpm-volume/12c7da94-52ca-491c-a99d-4962bc1f1e80/node_modules/mysql2/lib/connection.js:75:12)
    at PacketParser.executeStart (/rbd/pnpm-volume/12c7da94-52ca-491c-a99d-4962bc1f1e80/node_modules/mysql2/lib/packet_parser.js:75:16)
    at Socket.<anonymous> (/rbd/pnpm-volume/12c7da94-52ca-491c-a99d-4962bc1f1e80/node_modules/mysql2/lib/connection.js:82:25)
    at Socket.emit (events.js:196:13)
    at addChunk (_stream_readable.js:290:12)
    at readableAddChunk (_stream_readable.js:271:11)
    at Socket.Readable.push (_stream_readable.js:226:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:166:17)

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 11 февраля 2020

Вы передаете массив массивов для значений в запросе. Попробуйте values вместо [values]

var values = ['a', 'b', 'c', 'd',
'https://ne.wikipedia.org/wiki/%E0%A4%AE%E0%A5%81%E0%A4%96%E0%A5%8D%E0%A4%AF_%E0'];

con.query(
 "INSERT INTO urlparse (title, description, author, keywords, url) VALUES (?, ?, ?, ?, ?)",
 values, // Array of values here
 function(err, result) { 
   if (err) throw err;
 }
);

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