在node.js中查询数据库时,results对象的值为null
因此,我试图从数据库中查询一条记录,然后将其转换为node.js中的xml格式。programname是sasinfo表的主键,因此可以保证我只处理一条记录。问题是,当我运行下面的代码时,console.log(messagetoclient)会打印以下内容:在node.js中查询数据库时,results对象的值为null,node.js,node-mysql,Node.js,Node Mysql,因此,我试图从数据库中查询一条记录,然后将其转换为node.js中的xml格式。programname是sasinfo表的主键,因此可以保证我只处理一条记录。问题是,当我运行下面的代码时,console.log(messagetoclient)会打印以下内容: <messagetoclient><programname>undefined</programname><comment>undefined</comment><guid
<messagetoclient><programname>undefined</programname><comment>undefined</comment><guid>undefined</guid></messagetoclient>
未定义未定义
但是,console.log(results)会打印以下内容(记录中的正确值):
[{programname:'helloworld',
评论:‘测试’,
GUID:'9B23E0F7B7DA4535B99F70301539A44'}]
有人能帮我弄清楚为什么没有打印键值对的值吗?谢谢
query2 = connection.query('SELECT * FROM sasinfo WHERE programname = ?', [programname], function(err, results) {
if(err){
console.log(err);
}
else{
console.log(results);
messagetoclient= '<messagetoclient><programname>'+results.programname+'</programname><comment>'+results.comment+'</comment><guid>'+results.GUID+'<guid></messagetoclient>';
console.log(messagetoclient);
}
});
query2=connection.query('SELECT*FROM sasinfo WHERE programname=?',[programname],函数(err,results){
如果(错误){
控制台日志(err);
}
否则{
控制台日志(结果);
messagetoclient=''+results.programname+''+results.comment+''+results.GUID+'';
console.log(messagetoclient);
}
});
试试看
messagetoclient=''+结果[0]。程序名+''+结果[0]。注释+''+结果[0]。GUID+'';
因为
results
是一个数组。不客气。如果答案解决了你的问题,请将其标记为正确。
messagetoclient= '<messagetoclient><programname>'+results[0].programname+'</programname><comment>'+results[0].comment+'</comment><guid>'+results[0].GUID+'<guid></messagetoclient>';