将 MySql 查询的结果转换为数组 [关闭]
Posted
技术标签:
【中文标题】将 MySql 查询的结果转换为数组 [关闭]【英文标题】:Converting result of MySql Query to Array [closed] 【发布时间】:2020-12-23 03:07:04 【问题描述】:我在执行查询后得到 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。
【问题讨论】:
现在我想将 rows 变量转换为数组。 是的,用于多行查询并在查询中使用变量。 你得到什么错误信息? 试试res.json(JSON.stringify(rows));
【参考方案1】:
我认为您的问题在于您的数据库连接。您应该在进行查询之前添加对数据库连接的检查。
请看这里的例子: 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:我无法发表评论,因此需要直接尝试回答。但是,如果您确定自己有连接,应该很高兴知道,这样就可以从问题方程中取出。
【讨论】:
以上是关于将 MySql 查询的结果转换为数组 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章