er\u parse\u错误:您的sql语法-node js中有一个错误

ql3eal8s  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(556)

嗨,我正在使用node js开发mysql数据库。很多数据都被插入了,但此时查询卡住了,我不知道为什么。我试过了 mysql.escape() 以及 utf8.encode() 但还是一样的错误。
这是我的问题

ms_connect.query("INSERT INTO `companies_jobs` VALUES (null, '"+mysql.escape(data[i].title)+"','"+mysql.escape(data[i].link)+"','"+mysql.escape(data[i].date)+"','"+mysql.escape(data[i].level)+"','"+mysql.escape(data[i].category)+"','"+mysql.escape(data[i].function)+"','"+mysql.escape(data[i].loc)+"','"+mysql.escape(data[i].timing)+"','"+mysql.escape(data[i].company)+"','"+JSON.stringify(time)+"','"+JSON.stringify(date)+"',"+1+")", function(err, row){
                    if(err){
                        console.log(data[i]);
                        throw err;
                    } else{
                        i++;
                        s();
                    }
                })

我正在尝试将此数据插入数据库:

[{
  category: 'Sales',
  company: '',
  date: 'Posted on 12/06/2018',
  function: '',
  level: 'Students',
  link: 'https://career5.successfactors.eu/career?career%5fns=job%5flisting&company=LiMySLive&navBarLevel=JOB%5fSEARCH&rcm%5fsite%5flocale=en%5fUS&career_job_req_id=13305&selected_lang=es_ES&jobAlertController_jobAlertId=&jobAlertController_jobAlertName=&_s.crb=fl08QG2oV1akJFW%2fWVQ4Ol50v%2bs%3d',
  loc: 'Chile (CL)',
  timing: 'full time',
  title: 'Alumno en Practica'
}]

但由于某种原因,我得到了这个错误:
er\u parse\u error:您的sql语法有错误;查看与您的mysql服务器版本对应的手册,以了解“alumno en practica”附近使用的正确语法https://career5.successfactors.eu/career?career%5fns=job%'在第1行
表结构如下:

eagi6jfj

eagi6jfj1#

看起来像 mysql.escape(data[i].title) 已经在你的值周围加上了单引号,所以你自己加上它们就把它加倍了。

相关问题