gpt4 book ai didi

MYSQL在没有找到数据时停止功能? ( Node .js)

转载 作者:行者123 更新时间:2023-11-29 15:36:51 26 4
gpt4 key购买 nike

我正在从 MYSQL 数据库获取一些数据。它检查电子邮件和日期是否与用户电子邮件和所选日期相匹配,然后获取匹配的行数据。如果我使用表中存在的日期,一切正常,但是当我使用不存在的日期时,我会收到 ER_PARSE_ERROR。

看起来像这样:

    let date = 27/09/2019

let sql = `SELECT weigh, temp, length, cat, date FROM reps WHERE email = 'test@gmail.com' AND date = ?`;
connection.query(sql, [date], (error, result, fields) => {
if (error) throw error;
//here I do some stuff

当日期不在数据库中时,我得到:

Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')'

如果没有日期,它现在会使我的整个功能崩溃。相反,我只是希望它不要得到任何东西并保持功能继续运行。

我尝试了下面,但它仍然崩溃:

 if (error) {
send.response('nothing');
}

知道如何解决这个问题吗?

最佳答案

这个问题终于解决了。我得到 ER_PARSE_ERROR: 的原因是因为我有一些依赖于 MySQL 输出的函数。当没有显示来自 MySQL 的行时,就会发生错误。我通过说“如果没有则结束响应”解决了这个问题。这是代码:

if (error) { throw error;
} else if (!result.length) { //Checks if no results, then ends the response without doing anything, before it tried to do things when there was no result which caused the error.
return console.log('Date or email does not match any database rows');
response.end();
}

关于MYSQL在没有找到数据时停止功能? ( Node .js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58159153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com