无法通过javascript

时间:2019-03-21 09:45:43

标签: javascript mysql sql node.js heidisql

我在node.js上遇到错误,我无法确定原因。有谁能够帮助我?如果仅从数组中添加1个数据,它将被添加到数据库中。但是,当我添加其他输入时,它将在node.js中显示错误,并且不会保存在我的数据库中。

node.js error

var express = require('express');
var app = express();
app.get('/register/*', handleGetRequest); //how do I pass usrName here?
app.use(express.static('public'));
app.listen(5000);

function handleGetRequest(request, response){
var pathArray = request.url.split("/");
var pathEnd = pathArray[pathArray.length - 1];
if(pathEnd === 'register'){
    response.send("{working}");
    //console.log(request.body.usrName);
}
else
    var registerArray = pathEnd.split("&");

    response.send(JSON.stringify(registerArray));
    saveToDb(registerArray);
   // response.send("{error: 'Path not recognized'}");
}

function saveToDb(registerArray){
    for (var i = 0; i < registerArray.length; i++) {
        console.log(registerArray[i]);
    }
var mysql = require('mysql');
var con = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'customer',
    port: 6000
});
con.connect();
addData();
function addData(){
    var query = con.query(
        "INSERT INTO cust (id,LastName,FirstName) VALUES 
('001,"+registerArray[0]+"," +registerArray[1]+"');",function(err, result, 
 fields){
            if (err) throw err;
            console.log('results' , result);
        }
    );
}
//Close the connection
con.end();
}

1 个答案:

答案 0 :(得分:0)

您缺少导致问题的SQL语句中的单引号。代码应如下所示:

function addData(){
    var query = con.query(
        "INSERT INTO cust (id,LastName,FirstName) VALUES 
        ('001','"+registerArray[0]+"','" +registerArray[1]+"');",
        function(err, result, fields) {
            if (err) throw err;
            console.log('results' , result);
        }
    );
}