【问题标题】:How to Insert JSON Parsed data into MYSQL如何将 JSON 解析数据插入 MYSQL
【发布时间】:2015-01-23 00:35:17
【问题描述】:

我在这里尝试将 JSON 解析数据插入 MYSQL 数据库。我在 MYSQL 中创建了包含 3 列的表 - 链接、URL、描述。MYSQL 中的表名是信息。我的代码不起作用。我找不到错误..谁能帮助我!这是我的代码

dbStore.js

var express=require('express');
var mysql=require('mysql');
var config = require('./config.json');

var dbConnect = mysql.createConnection({
user     :  config.user,
password :  config.password,
database :  config.database
});

dbConnect.connect(function(err){
    if(err){
        console.log(err);
    }else{
        console.log("connection success");
    }
});

function insert() {
    var key = $("#search1").val();
    var htmlContent = "";
    $.ajax({
        type: "GET",
        url: "http://api.duckduckgo.com/?q=" + key + "&format=json&pretty=1",
        dataType: "jsonp",
        success: function (data, status, jqXHR) {
            alert("on success");
            if (data.RelatedTopics.length != "") {
                for (var i = 0; i < data.RelatedTopics.length; i++) {
                    var desc = data.RelatedTopics[i].Text;
                    var url  = data.RelatedTopics[i].Icon.URL;
                    var link = data.RelatedTopics[i].FirstURL;
                    var data={
                        link: link,
                        url: url,
                        description: desc
                    };
                    dbConnect.query('INSERT INTO information SET?',data,function(err,res){});
                    htmlContent += "";
                    $('#div1').html(htmlContent);
                }
            }
        },
        error: "error"
    });
};

表名是信息(columns-link,url,description)。从我的html页面点击事件中,我调用了dbStore.js中的insert()函数,它将解析来自api的json数据并将数据插入表中。先感谢您。

【问题讨论】:

  • 是否每次都到达 alert() 语句?此外,htmlContent 变量永远不会改变(以防万一你正在观看它)

标签: javascript mysql json node.js parsing


【解决方案1】:

这似乎不是有效的 SQL。

应该是这样的

INSERT INTO information (`link`, `url`, `description`) VALUES(?,?,?)

编辑:看起来 htmlContent 也永远不会改变,因此您可能需要根据需要进行调整。

EDIT2:您的数据类型设置为 jsonp。那应该是基于您的 DuckDuckGo API 调用的 JSON。 JsonP 是 JSON,通常用 javascript 填充并通过脚本标签加载。这需要在服务器上进行特殊准备。 DuckDuckGo 正在为您返回通用 JSON。

【讨论】:

  • 另一种解决方案参见 Edit2
  • 谢谢回复,我解决了。抱歉耽搁了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-14
  • 2014-04-26
相关资源
最近更新 更多