CNode

nodejs 如何让检查 sql 语句 合法性

问答
Ssmallsun发布于11 年前最后回复11 年前7 回复8264 浏览0 收藏

各位大神: 小弟用的是 "mysql": "2.5.5" 的模块 但是操作数据库的是 ** sql =update test set id='x' ** 我的表结构id 是int 类型。

	   执行的时候没有报sql 错误的异常直接执行了。
	   
	   请问 如何 校验sql   像java的sql 的驱动,有没有其他大神写好了这种处理的 mysql的模块
查看回复

回复 (7)

H
haozxuan#1·11 年前

这个还真没试过,一直用mongodb灵活习惯了,对于这种严格要求的,你可以尝试下如果成功就OK,失败有回调,应该不需要特定的模块处理吧。(如果mysql驱动写得好的话)ps:弱弱的说一句,js本来就是弱类型语言

S
songqinghehe#2·11 年前

sql不合法应该会抛出err吧?

S
smallsun#3·11 年前

我知道检查是会浪费node 的性能,但是我想知道是怎么检查,

S
sioncheng#4·11 年前

和node没多少关系,一般其他编程语言里也很少去对构造出来的sql做语法检查,举例里的问题应该是可以通过测试发现的。

L
leapon#5·11 年前

可以爬个网站: http://www.piliapp.com/mysql-syntax-check/

不怕麻烦就从语法上解决: http://www.antlr3.org/grammar/list.html

D
dayuoba#7·11 年前

node去检查query语法再执行 是浪费 node性能的,不合法的query都会传递error对象给callback

参与回复
登录后即可参与回复。登录