Dart中如何提取MySQL查询结果中的id并赋值给整数变量
从SQL查询返回结果提取id整数值的实现方案
根据你给出的返回结构和打印日志,可按以下方案提取id并转为整数:
适配你当前返回结构的提取方式
你打印的结果显示id嵌套在Fields属性下,直接提取后做10进制整数转换即可:
const id = parseInt(res.Fields.id, 10);
如果查询匹配到多条结果,返回的是数组格式,取第一条结果的id写法如下:
const id = parseInt(res[0].Fields.id, 10);
其他常见场景适配
如果你使用的是未封装的mysql2/promise官方库,query会返回[行数组, 字段元数据]的结构,写法调整为:
// 先解构获取行结果 const [rows] = await connmysql.query("SELECT id FROM yourname Where name = ?", [name]); const id = parseInt(rows[0].id, 10);
安全优化建议
你当前的SQL字符串拼接写法存在SQL注入风险,建议替换为参数化查询写法,示例如下:
var res = await connmysql.query("SELECT id FROM yourname Where name = ?", [name]);
内容的提问来源于stack exchange,提问作者Clarify my doubt
相关产品推荐
相关产品推荐

