- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做网页抓取。我写了代码
var connection = require('./mysqlConnection');
var c = new Crawler({
maxConnections : 10,
callback : function (error, result, $) {
if(error){
console.log(error);
}else{
const data = $(".test");
for(var i = 0; i < data.length; i ++){
const item = $(data[i]).text();
var query = 'INSERT INTO crawling (item) VALUES ("' + item + '")';
connection.query(query, function(err, rows) {
console.log(err);
});
}
}
}
});
c.queue('https://xxxxxxxxxx.com');
当我运行此代码时,const item
可以在中途获取,但是
{ Error: ER_PARSE_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 'June18th
")' at line 1
at Query.Sequence._packetToError (/Users/xxx/xxx/node_modules/mysql/lib/protocol/sequences/Sequence.js:52:14)
at Query.ErrorPacket (/Users/xxx/xxx/node_modules/mysql/lib/protocol/sequences/Query.js:77:18)
at Protocol._parsePacket (/Users/xxx/xxx/node_modules/mysql/lib/protocol/Protocol.js:279:23)
at Parser.write (/Users/xxx/xxx/node_modules/mysql/lib/protocol/Parser.js:76:12)
at Protocol.write (/Users/xxx/xxx/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket.<anonymous> (/Users/xxx/xxx/node_modules/mysql/lib/Connection.js:103:28)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
--------------------
at Protocol._enqueue (/Users/xxx/xxx/node_modules/mysql/lib/protocol/Protocol.js:145:48)
at Connection.query (/Users/xxx/xxx/node_modules/mysql/lib/Connection.js:208:25)
at Object.callback (/Users/xxx/xxx/app.js:135:24)
at Crawler._onInject (/Users/xxx/node_modules/node-webcrawler/lib/crawler.js:428:13)
at /Users/xxx/node_modules/node-webcrawler/lib/crawler.js:395:11
at Crawler._inject (/Users/xxx/node_modules/node-webcrawler/lib/crawler.js:154:9)
at Crawler._onContent (/Users/xxx/node_modules/node-webcrawler/lib/crawler.js:394:7)
at Request._callback (/Users/xxx/node_modules/node-webcrawler/lib/crawler.js:332:14)
at Request.self.callback (/Users/xxx/node_modules/node-webcrawler/node_modules/request/request.js:187:22)
at emitTwo (events.js:126:13)
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage: '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 \'June18th"\n \n \n ")\' at line 1',
sqlState: '42000',
index: 0,
sql: 'INSERT INTO crawling (title) VALUES (" \n I went to Paris at"June18th"because\n \n \n ")' }
我真的不明白为什么会发生这样的错误。我认为\n 导致了这个错误,所以我重写了
const item = $(data[i]).text().replace("\n", '');
但是发生了同样的错误。我的代码出了什么问题?我应该如何解决这个问题?
最佳答案
尝试更改:connection.query(query, function(err, rows) {
到 connection.query([query], function(err, rows) {
它周围可能需要[]
关于mysql - 发生 ER_PARSE_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50971502/
我尝试了 3 种不同的删除方法。如果条件合适,我想从表 buylist_products 中删除该行。 尝试1: DELETE FROM parkage_buylist_products bp, pa
我想做网页抓取。我写了代码 var connection = require('./mysqlConnection'); var c = new Crawler({ maxConnections
我有以下脚本: radioStation.on('metadata', function(metadata) { var values = (metadata.StreamTitle).spl
这个问题已经有答案了: Empty IN clause parameter list in MySQL (10 个回答) 已关闭 4 年前。 我对 mariadb 10.1 进行了 sql 查询 但是
我遇到语法错误: You have an error in your SQL syntax, check the manual that corresponds to your MySQL serve
我正在尝试将创建过程查询从 Node js发送到MYSQL。我正在读取 Mysql.proc 表来获取存储过程定义。 从工作台或hedis等mysql客户端提交时,Mysql代码工作正常 从 Node
我正在尝试使用 INTERSECT 子句构建 SQL 查询。我得到了一系列电子邮件 ID,作为返回,我需要给出输入中的电子邮件 ID 提供的所有教师之间的共同学生。 表的结构是: id | teach
我试图在 mysql 中选择一行,其中我的变量 req.body.email 在 Email_Address 列中找到这是我的代码片段 app.post('/login', 函数(req, res){
我正在尝试对 MySQL 数据库运行多语句查询。我正在使用 node-mysql 和 ExpressJS。我通过将 multipleStatements 设置为 true 启用了多语句查询: cons
为什么不起作用?我想下载txt并保存在数据库中。 Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manu
尝试基于一种形式插入多个插入时出现以下错误 "sql: "INSERT INTO ( pokemon (pokemonname) VALUES ('sadfasd'), INSERT INTO loc
我有一些 Node-Red 流,用作我正在开发的 Web 应用程序的 REST 接口(interface)。然而,我在 MySQL 上遇到了插入事务的问题。 输入到 mysql Node 的查询是:
对于下面的代码: var User = sequelize.define('User', { providerIds: { type : DataTypes.ARRAY(DataTypes.S
我创建了一个 webhook 来使用 Node.JS 接收一些数据。我使用 MySQL 存储数据,到目前为止,服务器能够连接到数据库,接收客户端数据,并在接收数据后做出适当的响应。我只是在格式化 My
{ Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to
我已经测试过一个查询,它可以像标准 MYSQL 一样正常工作,但是当我在 Node 中实现它时,我不断收到 ER_PARSE_ERROR,如下所示: function InsertPresenceVa
我正在尝试在 nodejs 中使用 mysql 插入 values。我已经编写了以下代码并通过 npm 安装了 MySQL 支持,但是由于这个问题无法插入到表中。 我的代码; var mysql =
我已经尝试将 mysql lib 与 nodejs 一起使用,并且像 SELECT * FROM table; 这样的简单查询有效,但现在我已经尝试构建一个真正的查询来更新我的数据库,但它没有不工作。
我正在尝试使用 node-mysql 将多个值放入数据库中。我的源代码 engine.files.forEach(function(file) { torrentpath = file.path.
我有一个名为 MedicalStaff 的表,以及一系列医生的电子邮件地址,我可以用它们来查询 MedicalStaff。我想使用 findAll 来查找与此数组的任何匹配项,它看起来像页面 here
我是一名优秀的程序员,十分优秀!