0
我正在使用此問題的標題中提到的所有模塊使用此項目。 當我發送文本消息時,計算機可以通過串口讀取它,並且它會做的第一件事是查看數字是否在數據庫中註冊。這是該代碼:node.js/express/mysql/serialport/socket.io
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'將不會被使用。問題是我無法弄清楚如何編輯這個查詢來添加一個不同的行爲,如果這個數字沒有註冊,因爲當系統實現時,可以從隨機的電話號碼接收消息。
很好,工作!我並不認爲在評估過程中一點一點進入陣列就是解決方案。謝謝 – arrigonfr