在新项目中放弃了使用多年的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 {
// 包含字段:列名 -> 值
}