【发布时间】:2021-08-13 03:26:47
【问题描述】:
所以我有这个: 当我用 getAddress(banned); 询问地址时,我只是得到一个未定义的 我想保存该行并将其用于另一个函数,但由于该错误我不能。
function getAddress( banned ){
let ip = [];
connection.query(`SELECT Ips FROM sc_alts WHERE Name LIKE '${banned}'`, (error, rows) => {
if (error) {
throw error;
}
ip = rows[0].Ips;
})
return ip[0];
}
【问题讨论】:
-
嗨,也许在使用结果之前检查
if (rows.length === 0)? -
我的意思是该行有一些东西,例如,如果我执行 console.log(rows[0].Ips),它会显示一些数据,但我无法保存,当我尝试时它说它未定义。
-
您在 SQL 中遗漏了 %?
SELECT Ips FROM sc_alts WHERE Name LIKE '%${banned}%',另外,不应该是 ip.push(rows[0].Ips) 并且只返回 ip。 -
这可能是个愚蠢的问题,但您需要
LIKE子句吗?如果您正在检查一个特定的ip 地址,您可能想要检查一个特定的地址,例如WHERE Name = '${banned}',对吗?banned是特定子网还是部分地址? -
如果
rows是一个数组,那么rows[0].Ips;是该行/列中的值吗?如果是这样,您应该只是return ip;?
标签: javascript mysql node.js