0

https://github.com/felixge/node-mysqlを使用して いますが、行が存在しない場合など、mysql クエリがエラーをスローするたびに発生します。ノード サーバーがクラッシュします。

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();

サーバーをクラッシュさせるのではなく、単にエラーをページに出力するにはどうすればよいですか。

4

2 に答える 2

1

エラーが発生した場合、コードはそれですが、とにかく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.");
}
于 2013-05-26T19:40:07.940 に答える