nodejs mysql 我这边用字符串拼的sql 被领导吐槽了 问问各位怎么弄的
发布于 8 年前 作者 wtcsy 10357 次浏览 来自 问答

rt!

17 回复

connection.query(‘SELECT * FROM users WHERE id = ?’, [userId], function(err, results) { // … });

用ORM 比如 Sequelize

用1L的方式即可,字符串拼接sql容易被sql注入!

字符串拼接SQL,编码效率低,可读性与可维护性差,基本不作考虑的

可以考虑下面两个库: knex squel

拼sql 拼时间长了,容易发生对眼

没事, 用 mysql.escape / mysql.format 然后让领导注入一个试试…他就同意了…

@13241491189 NO,我是orm的反对者,我喜欢直接搞sql。这个函数就是mysql模块自带的方法。

多谢各位

我用的Sequelize

可以参考几个makeSQL方法,底层也用 mysql.escape 做了过滤

@zouzhenxing orm 我配置到项目中 各种不顺手 目前为止也在拼sql

不用拼sql,?替代不就可以吗…再说只要不是用户输入,sql拼接又如何… 出错概率确实会比较大

我用类似mongo的语法

来自酷炫的 CNodeMD

别用字符串拼接SQL,稍有不慎SQL注入,应该用参数化SQL

回到顶部