1
Answer

Send data to MySql by using Node.js

Hello!
Can any one tell me how to send data from Form to MySql database by using Node.Js?
Here in below some pictures showing when I connected and send data into Mongo Database.
But this time I want to send data into MySql database by using Node.js
Here below is app.js code:
 
 
var express=require('express');
var bodyParser=require('body-parser');
var connection = require('mysql');
var app=new express();
var port=3000;
app.listen(port,function(err){
if(typeof(err)=="undefined"){
console.log('Your application is running on : '+ port+' port');
}
});
var navMenu=[
{href:'/articles',text:'Articles'},
{href:'/projects',text:'Projects'},
{href:'/books',text:'Books'},
{href:'/Contact',text:'Contact Us'},
{href: '/registration', text:'Registration'},
// {href: '/login',text:'Login'}
];
app.use(express.static('public'));//making public directory as static diectory
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.set('views','./src/views');
app.set('view engine','ejs');
var cookieParser=require('cookie-parser');
var passport=require('passport');
var session=require('express-session');
var articlesRouter=require('./src/routes/articlesRoute')(navMenu);
var projectsRouter=require('./src/routes/projectsRoute')(navMenu);
var booksRouter=require('./src/routes/booksRoute')(navMenu);
var contactRouter=require('./src/routes/contactRoute')(navMenu);
var userRouter = require('./src/routes/registrationRoute')(navMenu);
var loginRouter=require('./src/routes/loginRoute')(navMenu);
var profileRouter = require('./src/routes/profileRoute')(navMenu);
var taskRouter = require('./src/routes/TaskRoute');
app.use('/articles',articlesRouter);
app.use('/projects',projectsRouter);
app.use('/books',booksRouter);
app.use('/contact',contactRouter);
app.use('/registration',userRouter);
app.use('/myprofile',profileRouter);
app.use('/task',taskRouter);
app.use(cookieParser());
app.use(session({
secret: 'c-sharpcorner',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}))
require('./src/configuration/passport')(app);
//for using passport
app.use('/login',loginRouter);
app.use(session({
secret: 'c-sharpcorner',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}))
require('./src/configuration/passport')(app);
app.get('/',function(req,res){
res.render('index', {
title:'Node.js By Sourabh Somani',
menu:navMenu
});
});
/*
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'test'
});
connection.connect();
connection.query('SELECT * FROM t_user', function(err, rows, fields)
{
if (err) throw err;
console.log(rows);
});
connection.end();
/*
app.get('/articles', function(req, res) {
res.send('<h1>Welcome to C# Corner Articles.</h1>');
});
app.get('/projects',function(req,res){
res.send('<h1>Hello here will be projects');
});
//create router variables
var articlesRouter=express.Router();
var projectsRouter=express.Router();
var booksRouter=express.Router();
var contactRouter=express.Router();
//Now, define routing for each router, like the following
//rendering articles route
/*
articlesRouter.route("/")
.get(function(req,res){
res.render('articles',{
title:'Articles'
});
});
//rendering projects route
projectsRouter.route("/")
.get(function(req,res){
res.render('projects',{
title: 'Projects'
});
});
//rendring books route
booksRouter.route("/")
.get(function(req,res){
res.render('books',{
title: 'Books'
});
});
//rendering contact route
contactRouter.route("/")
.get(function(req,res){
res.render('Contact',{
title:'Contact us',
menu: navMenu
});
});
//Now, we have to tell our application which router will be used for each different routes. To do that, write the code as shown below.
app.use('/articles',articlesRouter);
app.use('/projects',projectsRouter);
app.use('/books',booksRouter);
app.use('/contact',contactRouter);
var articlesRouter=require('./src/routes/articlesRoute');
var projectsRouter=require('./src/routes/projectsRoute');
var booksRouter=require('./src/routes/booksRoute');
var contactRouter=require('./src/routes/contactRoute');
*/
 Here below is articlesRoute.js file:
 
var express=require('express');
var mongodb=require('mongodb').MongoClient;
var articlesRouter=express.Router();
var a_router=function(navMenu){
articlesRouter.route("/")
.get(function(req,res){
var url='http://MY_SERVER_ADDR:3000/data';
mongodb.connect(url,function(err,db){
var collection=db.collection('articles');
collection.find({}).toArray(function(err,results){
res.render('articles', {
title:'Articles',
menu:navMenu,
articles:results
});
});
});
});
return articlesRouter;
}
module.exports=a_router;
 
Here is article.ejs file for showing data on web-page:
 
 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title><%=title%></title>
<!-- Bootstrap Core CSS -->
<link href="lib/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="css/1-col-portfolio.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Node.js Web App</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<%for(var i=0;i<menu.length;i++){%>
<li>
<a href="<%=menu[i].href%>"><%=menu[i].text%></a>
</li>
<%}%>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Page Content -->
<div class="container">
<!-- Page Heading -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Articles</h1>
</div>
</div>
<!-- /.row -->
<!--Binding Articles Data-->
<%for(var p=0;p<articles.length;p++){%>
<div class="row">
<div class="col-md-3">
<a href="#" class="text-center">
<img class="img-responsive author-img" src="<%=articles[p].AuthorImageUrl%>" alt="">
</a>
</div>
<div class="col-md-9">
<h2><%=articles[p].Title%></h2>
<h5>
<i class='glyphicon glyphicon-folder-open'></i> <span style='margin:0 10px 0 5px;'><%=articles[p].Category%></span>
<i class='glyphicon glyphicon-calendar'></i> <span style='margin:0 10px 0 5px;'><%=articles[p].CreatedDate.toDateString()%></span>
</h5>
<h5>
<i class='glyphicon glyphicon-user'></i> <a href="javascript:void(0)" style='margin:0 10px 0 5px;'><%=articles[p].Author%></a>
</h5>
<p><%=articles[p].ShortDescription%></p>
<a class="btn btn-primary" href="#">Read Article <span class="glyphicon glyphicon-chevron-right"></span></a>
</div>
</div>
<hr/>
<%}%>
<!-- Pagination -->
<div class="row text-center">
<div class="col-lg-12">
<ul class="pagination">
<li>
<a href="#">&laquo;</a>
</li>
<li class="active">
<a href="#">1</a>
</li>
<li>
<a href="#">2</a>
</li>
<li>
<a href="#">3</a>
</li>
<li>
<a href="#">4</a>
</li>
<li>
<a href="#">5</a>
</li>
<li>
<a href="#">&raquo;</a>
</li>
</ul>
</div>
</div>
<!-- /.row -->
<hr>
<!-- Footer -->
<footer>
<div class="row">
<div class="col-lg-12">
<p>Copyright &copy; Your Website 2014</p>
</div>
</div>
<!-- /.row -->
</footer>
</div>
<!-- /.container -->
<!-- jQuery -->
<script src="lib/jquery/dist/jquery.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="lib/bootstrap/dist/js/bootstrap.min.js"></script>
</body>
</html>
 
 

Answers (1)