mysql - NodeJS Mysql 停止服务器因错误而崩溃

标签 mysql node.js locomotivejs

我正在使用https://github.com/felixge/node-mysql 每次 mysql 查询都会抛出错误,例如,如果一行不存在。 Node 服务器崩溃。

connection.connect();

connection.query('SELECT * from table1 where id = 2',  function(err, rows, fields) {
  if (err) console.log(err);
  if (rows[0]) { 
    console.log('The result is  ', rows[0].user);
  }
});
connection.end();

如何简单地将错误打印到页面而不使服务器崩溃。

最佳答案

如果发生错误,您的代码 console.log 就是错误,但仍会尝试访问 rows[0]。如果出现错误,rows 将未定义,因此 rows[0] 将触发新错误。

使用 else 结合长度检查可以轻松修复:

if (err) {
  console.log(err);
} else if (rows.length) { 
  console.log('The result is  ', rows[0].user);
} else {
  console.log("Query didn't return any results.");
}

关于mysql - NodeJS Mysql 停止服务器因错误而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760029/

相关文章:

mysql - 将 .sql 插入表文件转换为 Excel

node.js - Sequelize : how to let the database handle primary key value?

javascript - Node.js 自定义渲染构建

javascript - 如何在 Locomotive Js 中设置 CoffeeScript?

MySQL - DATE_ADD 月间隔

mysql - 连接两个包含一个 WHERE 子句的 MySQL SELECT 语句

MySQL从一个表中递归选择

javascript - Mongodb 通过 id 在数组中找到一个对象

linux - 如何为 node.js 应用程序正确设置 upstart

node.js - 使用 CORS 的 LocomotiveJs 的 Rest API。适用于本地计算机,但不适用于 Amazon 或 Heroku