从 Node.js 将 Json 存储到 MySQL 数据库中
Posted
技术标签:
【中文标题】从 Node.js 将 Json 存储到 MySQL 数据库中【英文标题】:Storing Json into MySQL database from Node.js 【发布时间】: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 数据库的连接,但不确定如何处理数据并插入它 【参考方案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 注入的攻击吗? 是的,但我认为存储数字并在另一个环境中访问它们会很快。不过我可能是错的,所以我赞成你的评论,以防其他人来找这个以上是关于从 Node.js 将 Json 存储到 MySQL 数据库中的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Node.js 将 JSON 数据从 Node.js 发送和获取到 HTML
在 Node.js/Express.js 中,如何将 JSON 对象从服务器传输到客户端?