我已经成功连接了mysql数据库。无论是否有错误,我似乎都无法获取查询数据以在控制台中输出任何内容。我设置一切的方式有什么问题吗?
var express = require('express');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var app = express();
var mysql = require('mysql');
var app = express();
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: "root",
database: 'photo_gallery'
});
connection.connect();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.locals.appdata = require('./data.json');
app.use('/', routes);
app.get('/',function(request,response){
connection.query('SELECT title FROM stories', 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));
});
} );
module.exports = app;
最佳答案
我能够将 mysql 中的数据解析为 json 对象,并在主目录中名为“route”的文件夹中设置的 index.js 文件中的快速路由中使用该对象。
var express = require('express');
var router = express.Router();
var appdata = require('../data.json');
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: "root",
port : 3306, //port mysql
database: 'photo_gallery'
});
connection.connect();
router.get('/', function(request,response) {
connection.query('SELECT * FROM stories', function(err, rows, fields) {
if (err) {
console.log('Encountered an error:', err.message);
return response.send(500, err.message);
}
thedata = ({'services' : rows});
console.log(thedata);
response.render('index', {
title: 'home',
data: thedata,
page: 'home'
});
});
});
我的 index.ejs 文件中的这段代码使用了 JSON 对象。
<a href="/services/"><li>Service Overview</li></a>
<% thedata.services.forEach(function(item) { %>
<a href="/services/<%= item.title %>"><li><%= item.title %></li></a>
<% }); %>
关于mysql - Express Mysql 的 JSON 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24460532/