gpt4 book ai didi

javascript - 类型错误 : data base object cannot be found

转载 作者:行者123 更新时间:2023-12-03 11:12:48 25 4
gpt4 key购买 nike

我正在使用 "express": "3.2.6",nodeJS v0.10.25

运行我的 app.js 时,我得到:

TypeError: Object #<IncomingMessage> has no method 'getConnection'

我的app.js:

/**
* Module dependencies.
*/

var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');

var app = express();

//database connection
var connection = require('express-myconnection');
var mysql = require('mysql');
//all environments
app.set('port', process.env.PORT || 3000);
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')));

//development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}


/*------------------------------------------
connection peer, register as middleware
type koneksi : single,pool and request
-------------------------------------------*/
app.use(
connection(mysql,{
host: 'localhost',
user: 'root',
password : '',
port : 3306, //port mysql
database:'db-test'
},'pool')
);

//routes
//app.get('/', routes.index);
app.get('/', routes.list);
app.get('/users', user.list);

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

我的 index.js 文件如下所示:

/*
* GET home page.
*/

//exports.index = function(req, res){
// res.render('index', { title: 'Express' });
//};

/**
* returns all trade objects
*/
exports.list = function(req, res){
req.getConnection(function(err,connection){

connection.query('SELECT * FROM trades',function(err,rows) {

if(err)
console.log("Error Selecting : %s ",err );

res.render('customers',{page_title:"Customers - Node.js",data:rows});

});

});
};

我遇到以下异常:

Express server listening on port 3000
TypeError: Object #<IncomingMessage> has no method 'getConnection'
at exports.list (C:\Users\nodeWorkspace\Test\routes\index.js:14:6)
at callbacks (C:\Users\nodeWorkspace\Test\node_modules\express\lib\router\index.js:161:37)
at param (C:\Users\nodeWorkspace\Test\node_modules\express\lib\router\index.js:135:11)
at pass (C:\Users\nodeWorkspace\Test\node_modules\express\lib\router\index.js:142:5)
at Router._dispatch (C:\Users\nodeWorkspace\Test\node_modules\express\lib\router\index.js:170:5)
at Object.router (C:\Users\nodeWorkspace\Test\node_modules\express\lib\router\index.js:33:10)
at next (C:\Users\nodeWorkspace\Test\node_modules\express\node_modules\connect\lib\proto.js:190:15)
at Object.methodOverride [as handle] (C:\Users\nodeWorkspace\Test\node_modules\express\node_modules\connect\lib\middleware\methodOverride.js:37:5)
at next (C:\Users\nodeWorkspace\Test\node_modules\express\node_modules\connect\lib\proto.js:190:15)
at multipart (C:\Users\nodeWorkspace\Test\node_modules\express\node_modules\connect\lib\middleware\multipart.js:64:37)
[90mGET / [31m500 [90m59ms

有什么建议我做错了什么吗?

感谢您的回答!

最佳答案

看起来您使用了这样的示例:http://teknosains.com/i/simple-crud-nodejs-mysql但改变了代码顺序。
app.use(app.router); 移动到声明的 app.get/app.post 下。
您也可以使用其他 mysql 集成案例:https://www.npmjs.com/package/express-myconnection

关于javascript - 类型错误 : data base object cannot be found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27491572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com