问一个关于mysql模块的问题
发布于 10 年前 作者 captainblue2013 3141 次浏览 最后一次编辑是 8 年前

对于mysql模块,或者easymysql模块, 有没有一些防止注入的手段呢 ? 网上看很多例子都直接就拼接SQL语句,不用占位符也不转义, 这样不好吧。

2 回复

建议使用工具。你在什么平台上部署?

已经解决了, mysql模块的朋友可以这样, query函数的第二个参数可以接受一个数组将绑定的参数传进去(不过我没这样用,用过的给更详细解答)。

我没用的easymysql,连接的query函数跟mysql的不一样,它的第二个参数是timeout(没用过)。 要实现参数绑定,有两点: 1.占位符使用 :key ,这种冒号加名字的风格; 2.query的第一个参数sql可以是一个对象,比如 {“sql”:“select * from table where id=:id limit 1”,“params”:{“id”:3}} 通过这样就可以绑定参数。

回到顶部