javascript - node.js出现 mysql 查询异常,怎么处理?
问题描述
基于express的框架,node-mysql模块开发项目,在项目中需要执行sql语句,如果sql语句异常,那么程序会直接崩溃。
conn.query(sql,function (err, result) {}如果这里的事情了因为前端提交方式的原因(或者是别人的非法提交),sql语句变为了SELECT * FROM prod WHERE prodName LIKE’%undefined%’ LIMIT NaN,10; 这样的话,node控制台会抛出:throw err; // Rethrow non-MySQL errorsnode就崩溃了,请问有什么好的方式处理sql异常?
问题解答
回答1:把你的sql处理下,将不合法的值设为默认值
回答2:启动文件最后加上这个处理试试看app.js
app.use(function (err, req, res, next) { res.status(err.status || 500); res.render(’error’, {message: err.message,error: {} });});
那你需要查看一下mysql connector的api一般肯定有异常处理机制。我用的mongoose。在声明连接的时候加上异常处理。
mongoose.connection.on(’error’, function (err) { console.error(’Mongoose connection error: ’ + err);});
相关文章:
1. node.js - nodejs中mysql子查询返回多行结果怎么处理?2. javascript - 火狐不支持input date怎么处理?3. mysql在进行insert select的时候,有的字段跟关键字重复怎么处理?4. javascript - nodejs处理post请求回的gbk乱码怎么处理?5. javascript - vue.js 中2个v-if 怎么处理?6. html5 - 刚接触移动端开发,请教下移动端使用vh,vw单位做布局,点击输入框后键盘弹出会挤压内容怎么处理?7. javascript - 网站登录一段时间后,无操作超时退出实现原理,前端和后端分别怎么处理?8. python - 使用eclipse运行django代码,修改了views.py这个文件,但是浏览器显示的还是原有没修改的结果,怎么处理?9. java - 当系统出现线程死锁时怎么处理?10. mysql - 给千万数据的表增加索引,不影响使用,怎么处理?
