2013-11-24 4 views
1

В моем приложении-узле я пытаюсь вставить данные в базу данных mysql. Я После этой обучающей программыNode.js + данные mysql не входят в базу данных

"http://www.tutorialindustry.com/node-js-mysql-tutorial-for-beginners"

Мой код:

var express = require('express') 
, http = require('http') 
, mysql = require('mysql') 
, path = require('path'); 
var app = express(); 
// all environments 
app.set('port', process.env.PORT || 3002); 
app.set('views', __dirname + '/views'); 
app.set('view engine', 'jade'); 
app.use(express.favicon()); 
app.use(express.logger('dev')); 
app.use(express.bodyParser()); 
app.use(express.methodOverride()); 
app.use(app.router); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.get('/', function(req, res) { 
res.render('index'); 
}); 
//connect to mysql database 
/*var connection = mysql.createConnection({ 
host : '127.0.0.1', 
user : 'root', 
password : 'root', 
database : 'nodejsmysql' 
}); 
connection.connect();*/ 

var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : 'root', 
    database : 'nodejsmysql', 
    debug : true, 
}) 
connection.connect(function(err) { 
    if (!err) { 
     console.log("Connected to MySQL"); 
    } else if (err) { 
     console.log(err); 
    } 
}); 
app.get('/users', function (req, res) { 
connection.query('select * from nodejs', function(err, docs) { 
res.render('users', {users: docs}); 
}); 
}); 
// Add a new User 
app.get("https://stackoverflow.com/users/new", function (req, res) { 
res.render("new"); 
}); 
// Save the Newly created User 
app.post("/users", function (req, res) { 
var fname=req.body.fname; 
var lname=req.body.lname; 
console.log("qqqqqqqqqq") 
connection.query('INSERT INTO nodejs (fname, lname) VALUES (? , ?);' , [fname, lname], function(err, docs) { 
if (err) res.json(err); 
res.redirect('users'); 
}); 
}); 
http.createServer(app).listen(app.get('port'), function(){ 
console.log('Express server listening on port ' + app.get('port')); 
}); 

Не бросать любые error.but ДАННЫЕ не входящие в базу данных.

+0

Перенаправляется ли страница добавления новых пользователей? – matth

+0

Да redtirected..Also я ввел значение и нажал «AddNewUser», но эта запись не была введена в базу данных mysql. – Subburaj

+0

Вы также создали новую базу данных/таблицы? Я скопировал приведенный выше код (наряду с остальными учебниками), и он отлично работает для меня. Под «перенаправляет эту страницу» я имел ввиду, как только вы нажмете «Добавить нового пользователя» (после заполнения первого или последнего имени), он фактически перенаправляется на страницу «Показать всех пользователей», правильно? Просто пытаюсь исключить шаблонный вопрос, который у меня был. – matth

ответ

0

Возникла проблема из-за форматирования учебника, которое вы используете. В частности, для файла views/new.jade требуется отступ от , иначе форма не будет отправлена. Посмотреть, как предполагается ниже шаблон:

h1 Add new User 

form(method="POST" , action="/users") 
    p FirstName: 
    input#title(type="text" , name="fname") 
    p LastName: 
    input#body(type="text" , name="lname") 

    p: button(type="submit") Add New User 

просмотров/index.jade:

extends layout 

block content 
    p Welcome to nodejs mysql tutorial 
    p 
    a(href='/users') Show All users 

Просмотров/users.jade:

h1 Showing All Users 

ul 
- each user in users 
    li User FirstName: #{user.fname} 
    li User LastName: #{user.lname} 
hr 

a(href="users/new") Add New User 
br 
a(href="/") Home 

Если вы хотите узнать больше, это выглядит например, Jade website содержит некоторую полезную информацию/учебники.

+0

Спасибо, что сделал3..Но его перенаправление..Но показывая некоторую проблему в users.jade..Пожалуйста, напишите, что файл user.jade с соответствующим отступлением. – Subburaj

+0

Забыл, я исправил их. Я обновил ответ. – matth

+0

Спасибо большое man..Now его работа..Но почему этот сайт учебника не правильно ориентируется ... Также можно ли его преобразовать, что выход (все пользователи), чтобы показать в json формате..Пожалуйста, если у меня есть идея по этому поводу .. – Subburaj

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