我正在尝试获取用户使用mysql之类的运算符输入的一堆值
在我在Nodejs中的获取路线中
console.log(req.query.key)
pool.query("select FirstName from users where FirstName like %'" + req.query.key +"%'"
在调试控制台中,我得到
dav
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本以使用正确的语法 接近'%'dav%'
我刚刚在mysql工作台中运行了此查询,并且该查询在那儿正常工作
select FirstName from users where FirstName like '%dav%'
MySQL Workbench返回
大卫
我不确定为什么在Node.js中出现错误
编辑1:
I am using the `mysql` package
app.js
const mysql= require('mysql');
const pool = mysql.createPool({
connectionLimit : 10,
host: keys.connection.host,
user: keys.connection.user,
password:keys.connection.password,
database:keys.connection.database,
})
我确定我的连接没有问题,因为我的其他路由都正常运行,没有错误
答案 0 :(得分:2)
您需要将引号字符 放在第一个%
之前,而不是之后。
pool.query("select FirstName from users where FirstName like '%" + req.query.key +"%'"