В запросе node.js mysql проверьте, не найдено ли совпадение

Вопрос:Как проверить, не найдено ли совпадение в mysql (node.js)? mysql.query("select * from table1 where name = 'abcd'", function(error, result, field) { if(error) { exist(error); //No error } else if(result) { console.log(result); //displays '[]' exist(null, result); } else { exist(null, null); //It is never execute } }); function exist(error, result) { if(result) console.log("Test:"+result); //Executed and displays

Вопрос:

Как проверить, не найдено ли совпадение в mysql (node.js)?

mysql.query(«select * from table1 where name = ‘abcd'», function(error, result, field) { if(error) { exist(error); //No error } else if(result) { console.log(result); //displays ‘[]’ exist(null, result); } else { exist(null, null); //It is never execute } }); function exist(error, result) { if(result) console.log(«Test:»+result); //Executed and displays ‘Test:’ }

Моя база данных не содержит имя = ‘abcd’. Итак, как я могу проверить, не соответствует ли запрос?

Лучший ответ:

В результате запроса вы получаете пустой массив ([]), поскольку, как вы сказали, ваша база данных не содержит строки с name = ‘abcd’.

Когда вы выполните:

if (result) { if (result) console.log(«Test:» + result);

вы введете if, потому что Javascript оценивает true для []. Взгляните на эту статью здесь, в которой объясняется, как Javascript оценивает значения true и false.

Лучше всего проверить, пуст ли ваш массив результатов:

if (result.length > 0) { if (result) console.log(«Test:» + result);

Оцените статью
Добавить комментарий