0

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 

それでもエラーに変化はありませ

4

1 に答える 1

2

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'));
});
于 2013-08-09T14:44:28.700 に答える