【问题标题】:Storing Json into MySQL database from Node.js从 Node.js 将 Json 存储到 MySQL 数据库中
【发布时间】:2018-02-16 19:33:43
【问题描述】:

我知道这个问题已经被问过无数次了,但是经过猛烈的搜索,我似乎找不到我想要的答案。我有一个 *.js 格式的脚本,它创建一个 json 数据数组,然后将其存储在一个 json 文件中。

数组设置为:

var sessionState = {
    currentWalletNdx: 0,
    genesisBlockId: 0,
    genesisBaseTarget: 0,
    genesisBlockTimestamp: 0,
    current: {
        blockHeight: 0,
        baseTarget: 0,
        startTime: 0,
        totalShare: 0,
        submitters: 0,
        bestDeadline: 0,
        totalPayments: 0,
        netDiff: 0
    },
    prevBlocks: []
};

要将数据存储在 json 文件中,函数是:

saveSession: function () {
    var jsonData = JSON.stringify(sessionState, null, 2);
    fs.writeFileSync('pool-session.json', jsonData);
},

我的问题是,我如何将它写在这个 js 文件中,以使用 json 类型将保存的 json 数组存储在 mysql 表中,以便稍后使用 php 和 mysql 查看数据?

【问题讨论】:

  • 我认为你在使用 nodejs,对吗?
  • 是的,我是。我知道如何在节点 js 中建立与 mysql 数据库的连接,但不确定如何处理数据并插入它

标签: mysql json node.js


【解决方案1】:

这样的事情应该可以工作:

var mysql = require('mysql');
var database = mysql.createConnection({
  host: 'host',
  user: 'user',
  password: 'password',
  database: 'database'
});
database.connect(function(connectionError){
  if(connectionError){
    throw connectionError;
  }
  var sql = "INSERT INTO table(column) VALUES ('" + jsonData + "')";
  database.query(sql, function(queryError, queryResult){
    if(queryError){
      throw queryError;
    }
  });
});

table 更改为表的名称,将column 更改为要在其中插入 JSON 的列的名称。当然还有数据库连接信息

【讨论】:

  • 这不是很容易受到 SQL 注入的攻击吗?
  • 是的,但我认为存储数字并在另一个环境中访问它们会很快。不过我可能是错的,所以我赞成你的评论,以防其他人来找这个
猜你喜欢
  • 2023-03-05
  • 2021-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多