程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在 JavaScript 中获取 MySQL 查询的第一行?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在 JavaScript 中获取 MySQL 查询的第一行??

开发过程中遇到如何在 JavaScript 中获取 MySQL 查询的第一行?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在 JavaScript 中获取 MySQL 查询的第一行?的解决方法建议,希望对你解决如何在 JavaScript 中获取 MySQL 查询的第一行?有所启发或帮助; @H_607_2@所以我有这个: 当我使用 getAddress( Disabled ); 请求地址时,我只是得到了一个 undefined 我想保存该行并将其用于另一个函数,但由于该错误我无法保存。

@H_607_2@
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];
}
@H_607_2@

解决方法

@H_607_2@您遇到了异步问题。 当您的函数返回值(行 return ip[0])时,connection.query() 尚未返回,因为它是一个异步函数。因此,您在没有实际运行 MySQL 查询的情况下返回值 ip[0],因此 ip 值仍然等于 [](定义时相同),因此 ip[0] 未定义。

@H_607_2@例如,这里也发生了同样的事情:

function getAddress(bAnned) {
    let ip = [];
    setTimeout(function() {
        ip = ["hi","world"];
        console.log("IP value is now:" + ip[0])
    },2000);
    console.log("I am returning the IP value: " + ip[0])
    return ip[0];
}

getAddress()
@H_607_2@输出如下:

I am returning the IP value: undefined
IP value is now: hi
@H_607_2@如您所见,返回语句发生在修改 ip 变量的 setTimeout 回调之前,与您的连接查询函数相同。

@H_607_2@您可以做的是使您的函数异步,并等待结果以同步方式完成。 我还没有特别尝试过这个,但这样的事情应该可行:

async function getAddress( bAnned ){
    const rows= await connection.query(`SELECT Ips FROM sc_alts WHERE Name LIKE '${BAnneD}'`)
    return rows[0].Ips;
}
@H_607_2@请参阅 Node.js Using async/await with mysql 以获取一些参

大佬总结

以上是大佬教程为你收集整理的如何在 JavaScript 中获取 MySQL 查询的第一行?全部内容,希望文章能够帮你解决如何在 JavaScript 中获取 MySQL 查询的第一行?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。