2017-04-03 123 views
0

我已經有一段時間了現在這個問題,我似乎無法弄清楚,我環顧了Stackoverflow,但只能找到PHP或C#代碼匹配我的問題。我試圖檢查一行是否存在,如果它沒有發送一條消息,說明它不存在,如果它發送了一條消息。檢查數據庫中是否存在使用查詢> NodeJS

這裏是我的代碼,

query('SELECT * FROM `cases` WHERE `case`='+pool.escape(String(getCase)), function(err, row) { 

    if(err) { 
     logger.error('Error in DB'); 
     logger.debug(err); 
     return; 
    }else{ 

     console.log('Case row was found!'); 

    } 

}); 

此外,getCase是我可以改變一個變量,但即使它不在數據庫中似乎回到Case row was found!

+0

什麼數據庫引擎是您使用?你使用'query()'函數的庫/模塊是什麼? – sadmicrowave

+0

@sadmicrowave抱歉沒有指定,我使用'mysql' –

回答

0

它返回Case row was found!因爲你是隻有在發生錯誤時才告訴回調停止。您需要擴展else語句來檢查是否有任何數據在row變量像這樣出現:

query('SELECT * FROM `cases` WHERE `case`='+pool.escape(String(getCase)), function(err, row) { 

    if(err) { 
     logger.error('Error in DB'); 
     logger.debug(err); 
     return; 
    } else { 
     if (row && row.length) { 
      console.log('Case row was found!'); 
      // do something with your row variable 
     } else { 
      console.log('No case row was found :(!'); 
     } 
    } 
}); 
+0

雖然我確實嘗試了.length,並且它返回undefined,但它完美地工作!感謝您及時的回覆! –

相關問題