mysql - 将 MySql 查询的结果转换为数组
问题描述
我在执行查询后得到 RowPacketData,现在我想将该 RowPacketData 转换为数组,以便可以对其执行不同的操作。
var query = `Select products.*, product_images.Image_Name
from products INNER JOIN product_images
ON products.Id=product_images.Product_Id ORDER BY Id limit ${LimitNum} OFFSET ${startNum}`;
db.query(query , function(err,rows, fields)
{
if (err)
{
res.status(500).send({ error: 'Following Error Occured : '+ err });
console.log('Following Error Occured : ' + err);
}
else
{
res.json(rows);
console.log('20 Products Displayed on Page : ' + page);
}
})
注意:我正在使用节点 js。
解决方案
我认为您的问题出在您的数据库连接上。您应该在执行查询之前添加对 db 连接的检查。
例如,请参见此处: https ://www.w3schools.com/nodejs/nodejs_mysql_select.asp
您的查询和代码看起来正确。从一个更简单的查询开始并慢慢扩展它(这将检测查询中的错误),并通过错误处理在同一位置建立连接。100% 确定您有连接。
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
con.query("Select * from products limit", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
});
PS:我无法发表评论,因此需要直接尝试回答。但是应该很高兴知道您是否确定有连接,以便可以将其从问题方程中取出。
推荐阅读
- java - Kafka Streaming 中的 Thrift 序列化和反序列化
- movesense - Movesense 校准
- c# - 在 Visual Studio 中调试时,“非公共成员”具体是什么?
- c# - 注销后回调客户端应用程序 - 身份服务器 4
- python - 在 pandas groupby 中查找满足条件的组
- angular - App Angular 避免在 Apache 上使用 CORS(预检)
- amazon-web-services - Amazon Dynomo DB:由于 APPSYNC_ASSUME_ROLE 和类型不匹配错误导致的 BatchPutItem
- angular - 如何在没有拦截器的情况下将令牌作为授权标头发送
- scipy - 稀疏矩阵导致分段错误退出代码 139
- python - 多个 URL 保存 json 数据