繁体   English   中英

在Express中连接到数据库

[英]Connecting to database in Express

尝试使用Express连接到数据库

  • 我是Express的新手(我使用过NODEJS),
  • 我正在尝试连接到数据库并显示一个简单的JSON作为结果输出
  • 我尝试了下面的代码

var express = require('express')
  , http = require('http');

var app = express();

var connection = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: "root",
        database: 'restaurant'
});

// all environments
app.set('port', process.env.PORT || 7002);


app.get('/',function(request,response){
connection.query('SELECT * FROM restaurants', function(err, rows, fields)

        {
                console.log('Connection result error '+err);
                console.log('no of records is '+rows.length);
                        response.writeHead(200, { 'Content-Type': 'application/json'});
                response.end(JSON.stringify(rows));
        });

} );

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

错误::

var connection = mysql.createConnection({
                 ^
ReferenceError: mysql is not defined

错误告诉mysql模块缺席,但我已经安装了mysql模块::

npm install mysql 

仍然没有错误的变化任何想法

你错过了mysql模块。

var express = require('express')
  , http = require('http')
  , mysql = require('mysql');

但是你还需要connect()

connection.connect();

在开始查询数据库之前。

现在为懒惰加在一起:

var express = require('express')
  , http = require('http')
  , mysql = require('mysql'); // <---- HERE

var app = express();

var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: "root",
    database: 'restaurant'
});

connection.connect(); // <---- AND HERE

// all environments
app.set('port', process.env.PORT || 7002);


app.get('/',function(request,response){
connection.query('SELECT * FROM restaurants', function(err, rows, fields)

    {
            console.log('Connection result error '+err);
            console.log('no of records is '+rows.length);
                    response.writeHead(200, { 'Content-Type': 'application/json'});
            response.end(JSON.stringify(rows));
    });

} );

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM