将 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 查询的结果转换为数组 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

JSON / PHP数组到MYSQL插入[关闭]

将数据库结果转换为数组

将 SQL 查询结果转换为字符串数组

将 Java 结果集转换为字符串数组

查询Mysql表之后将结果转换为json时如何能够保持字段的原有数据类型?

如何使用 php 数组将 sql 查询结果转换为数据透视表?