nodejs mysql 我这边用字符串拼的sql 被领导吐槽了 问问各位怎么弄的
 发布于 9 年前  作者 wtcsy  11584 次预览  最后一次回复是 8 年前  来自 问答 

rt!

17 回复
zouzhenxing

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

eggggger

用ORM 比如 Sequelize

im-here

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

CoderIvan

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

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

yakczh

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

magicdawn

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

zouzhenxing

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

moyunchen

我用的Sequelize

shadow88sky

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

13241491189

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

DevinXian

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

dbit-xia

我用类似mongo的语法

来自酷炫的 CNodeMD

nullcc

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