【发布时间】:2014-02-25 16:35:17
【问题描述】:
我正在使用这个问题标题中提到的所有模块来处理这个项目。 当我发送一条短信时,计算机可以通过串口读取它,它会做的第一件事就是查看该号码是否在数据库中注册。这是它的代码:
function consultarNumero(head, body, numero){
connection.query('SELECT * FROM devices WHERE nro_telefono = "'+numero+'"', function(err, result){
if(err){
console.log(err);
}else{
if(result[0]['id']!=null){
var idEmbarcacion = result[0]['id'];
//readingData.dividirPartes(head, body, idEmbarcacion); <- some other function
}else{
return false;
}
}
});
}
此代码有效,因为我用于测试的电话号码已在数据库中注册,但是如果我从另一部手机发送消息,则会出现错误消息“无法读取未定义的属性 'id'” .
所以显然“if(result[0]['id']!=null)” 不是正确的方法。 我试过“if(result.length)!=0”,但结果数组的长度总是大于 0,即使这个数字没有注册,因为如果它找不到任何东西,它会返回 '未定义'。
当然,我知道如果 hpone 号码没有注册,那么 'id' 将不存在。问题是如果号码未注册,我不知道如何编辑此查询以添加不同的行为,因为在实施系统时,可能会收到来自随机电话号码的消息。
【问题讨论】:
标签: mysql node.js express serial-port socket.io