node使用mysql查询count(*)返回不是整数返回RowDataPacket对象

文章讲述了作者在新项目中使用Node.js替换PHP时遇到的问题,即在执行`SELECTCOUNT(*)`查询时,结果总是0。尽管数据库查询正常,但代码解析出错。最后借助AI工具找到了问题所在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在新项目中放弃了使用多年的PHP,使用nodejs搭建后端服务,在一个需要查询数据条数的分页场景下使用select count(*)查询时返回结果见过转换整型之后一直是0,直接去数据库使用查询命令查出结果是正常的,检测类型发现结果是[ RowDataPacket { count: 412 } ]。查了半天没找出问题来,还是使用AI工具得到了答案。
在这里插入图片描述

connection.query('SELECT COUNT(*) AS count FROM your_table', function (error, results, fields) {
  if (error) throw error;
  const count = results[0].count; // 从结果中提取 count 字段的值
  console.log('Count:', count);
});

RowDataPacket 对象,它是 Node.js(特别是 mysql/mysql2 库)中的特定封装结构。
RowDataPacket 是 Node.js 中 mysql 或 mysql2 这两个库内部使用的类,用来表示从 MySQL 查询中返回的一行数据。

它本质上是这样的一个 JS 类/对象:class RowDataPacket {
// 包含字段:列名 -> 值
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值