2017-01-04 4 views
-1

Я только начал изучать nodejs с экспрессом framework.In моего приложения Есть две страниц app.js и db.js..I нужно размещать данные из формы и вставьте зарегистрировать таблицу В db.jsКак подключить mysql с nodejs?

var mysql = require('./node_modules/mysql'); 
    var connection = mysql.createConnection({ 
      host: '127.0.0.1', 
      user: 'root', 
      password: '', 
      database: 'nodeapp' 
     }); 
    connection.connect(function (err) { 
     if (err) 
      throw err; 
    }); 
    module.exports = connection; 

// В моей app.js странице

var express = require('./lib/express'); 
    var app = express(); 
    var bodyParser = require('body-parser') 
    var db = require('/db'); 
    app.get('/', function (req, res) { 
     res.sendFile('/NodeProj/views/' + 'index.html'); 
    }); 
    /** bodyParser.urlencoded(options) 
    * Parses the text as URL encoded data (which is how browsers tend to send form data from regular forms set to POST) 
    * and exposes the resulting object (containing the keys and values) on req.body 
    */ 
    app.use(bodyParser.urlencoded({ 
     extended: true 
    })); 

    /**bodyParser.json(options) 
    * Parses the text as JSON and exposes the resulting object on req.body. 
    */ 
    app.use(bodyParser.json()); 

    app.post('/process_form', function (req, res) { 
     var response = { 
      "firstname": req.body.fst_name, 
      "email": req.body.fst_email, 
      "password": req.body.fst_password 
     }; 
     var query = connection.query('INSERT INTO register SET?',response,function(err,result){ 
      if(err) throw err; 
      if(result) console.log(result); 
     }); 
     res.end(JSON.stringify(response)); 
    }); 

    app.listen(8081); 

Но когда я запускаю код, который я получил следующую ошибку

Refference error: connection is not defined 

Пожалуйста, помогите мне .THANKS в ADVANC е.

+0

См. [Это] (https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/) ..... –

+2

Предполагая, что верхний бит этого кода является файлом базы данных, тогда ваш вызов MYSQL соединение 'db', когда оно требуется в приложении. Если вы меняете 'var db = require ('/ db');' to 'var connection = require ('/ db');' то это может помочь. – dan

+0

@PunitGajjar: Но мне нужно определить соединение в db.js и как получить доступ к странице в app.js? –

ответ

1

Как уже упоминалось в комментариях, вы позвонили .

Так что, если вы замените var db = require('/db'); на var connection = require('./db');, тогда будет определен ваш connection.

+1

Спасибо @baao. Обновлен ответ. – dan

Смежные вопросы