Javascript Node.js+MySQL无法获取结果或响应Console.log

Javascript Node.js+MySQL无法获取结果或响应Console.log,javascript,mysql,node.js,Javascript,Mysql,Node.js,我是Node.js的新手。 我写了这段代码: db.query("SELECT * FROM messages", function (error, results, fields){ if(error){ console.log("test"); } if(results.length > 0) { console.log(results); } }); 但它不起作用,它不会将任何内容打印到控制台。 在Linux上运行。对

我是Node.js的新手。 我写了这段代码:

db.query("SELECT * FROM messages", function (error, results, fields){
    if(error){
        console.log("test");
    }
    if(results.length > 0) {
        console.log(results);
    }
});
但它不起作用,它不会将任何内容打印到控制台。
在Linux上运行。

对于您的特定问题,不要将结果放在if语句中。改为这样做,只是为了看看你在用什么:

console.log( results.toString() );
console.log( JSON.stringify( results ) ); //sometimes this throws errors, if the object is complex
这会让你看到你在做什么。如果reulsts不是数组,那么它就没有.length属性,您也无法访问console.log

然而

当我在节点代码中看到原始MySQL语句时,我总是在推。Knex为您处理两件常见的事情,db连接和连接池,并且使编写动态查询变得轻而易举。如中所示,您不必操纵SQL字符串

安装knex npm安装knex-保存

在应用程序或环境设置中

var Knex = require('knex');
Knex.knex = Knex({...}); //set options for DB
在其他文件中,参照以下实例:

var knex = require('knex).knex; 
var query = knex('messages').select();
console.log('About to perform query: ' + query.toString() );
query.exec( function( err, results ){
    if(error){
        console.log("test");
    }
    console.log(results);
    //do other things here, like callback(results);
} );
因此,您的查询可能如下所示:

var knex = require('knex).knex; 
var query = knex('messages').select();
console.log('About to perform query: ' + query.toString() );
query.exec( function( err, results ){
    if(error){
        console.log("test");
    }
    console.log(results);
    //do other things here, like callback(results);
} );

祝你好运

您的数据库看起来像什么样的错误?如果没有,那么DB是否包含任何条目?表名:messages行:id、user\u id、time、message。是,数据库包含条目。没有抛出错误。我不知道如何检查node.js日志如果没有抛出错误,也没有给出响应,那么该表中似乎没有行;console.log JSON.stringify结果;它只是在控制台中没有显示任何内容。我想它应该出现在Chrome inspect元素控制台中?天哪,它一直在工作。我只是想把console.log输出到chrome控制台。我正在运行forever模块,以确保node.js聊天服务器始终运行,这样它就不会向控制台打印任何内容。有什么提示我如何监控输出?也许有一种方法可以创建一个日志文件来记录所有事情?两种流行的日志框架是和。可能还有其他的。可以将其配置为登录到文件或流,或同时登录到文件或流!。监控输出可能是程序化的,因为您可以在错误或问题到达日志之前捕获它。