MySQL запрос возвращает неопределенный

0

Итак, я пишу программу на узле JS и использую mysql.

Я отправляю запрос в свою БД и должен вернуть "Null" но каждый раз, когда я получаю "undefined" и я не понимаю, почему. Я видел некоторые ответы о переполнении стека, но я не понимаю их.

Вот моя функция:

async function checkKey(key) {
    var activated = "";
    var sqlcheck = "SELECT activated from authentification where discord_key = ?";
    console.log("in function");
    await DB.query(sqlcheck, [key], function (err, result) {
        if (err) throw (err);
        console.log("test");
        console.log(result[0].customerID);
        activated = result[0].customerID;
    });
    if (activated == "Null") {
        return ("NULL");
    } else {
        return ("used");
    }
}

console.log(result[0].customerID); возвращает "undefined"

Я называю это в этот момент другой функцией:

if (checkKey(key) == "NULL") {
    try {

Можно ли дождаться завершения функции "checkkey" прежде чем продолжить?

Это мои журналы:

logged in as ${client.user.tag}!
in function
${message.author.tag} - inputted an used key. key : ${key}
test
undefined

Следует сказать:

logged in as 
in function 
test
undefined
${message.author.tag} - inputted an used key. key : ${key}

Основная функция продолжает работать без проверки завершения функции.

Большое спасибо за Вашу помощь!

Теги:

1 ответ

0

NULL не является строкой, это специальное значение в языке SQL, которое указывает, что значение неизвестно, другими словами, не определено.

Когда ваш драйвер базы данных извлекает значение NULL из базы данных, он преобразует его во все, что соответствует концепции NULL на используемом вами языке компьютера, который в javascript будет undefined переменной.

Вы можете просто переписать это условие:

if (activated == "Null")

Для логической проверки:

if (!activated)
  • 0
    привет, так что я сделал то, что вы сказали, но я все еще получаю эту ошибку TypeError: Невозможно прочитать свойство 'customerID' из неопределенного

Ещё вопросы

Сообщество Overcoder
Наверх
Меню