gpt4 book ai didi

javascript - 如何使用 NodeJS 将 MySQL 中的数据显示为 HTML 页面

转载 作者:行者123 更新时间:2023-11-29 15:29:14 24 4
gpt4 key购买 nike

我是 Node JS 新手,我正在尝试将从 MySQL 表中获取的数据显示到 HTML 文件中的表中。但我找不到任何对我有帮助的东西。如果有人能帮助我找到解决方案,我将非常感激! :)这是我的 js 代码:

//app.js
// Get the mysql service
var mysql = require('mysql');
var express = require('express');
var app = express();

app.get('/', function (request , response) {
fetchData(response);
console.log('Done. Displayed Data.');

});
// Add the credentials to access your database
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'Breunninger',
port: '3306'
});
// connect to mysql
connection.connect(function(err) {
if(err){throw err;}
console.log('Connected');
});

function executeQuery(sql, cb){
connection.query(sql, function( result, fields){

cb(result);
})

}

function fetchData(response){
executeQuery("SELECT username, tor, datum, sendungsstruktur FROM Buchung JOIN user ON(user.id = Buchung.userid)", function (result) {
console.log(result);
response.write('<div class="container-wrap"><table id="example" class="display"><tr>');
for(var column in result[0]){
response.write('<td> <label>' + column + '</label></td>');
response.write('</tr>');
}
for(var row in result){
response.write('<tr>');
for(var column in result[row]){
response.write('<td>' + result[row][column]+ '</td>');
}
response.write('</tr>');
}
response.end('</table></div>');
});
}
<div class="container-wrap">
<div class="flexslider">
<script src="app.js"></script>
</div>
</div>

最佳答案

executeQuery 函数中有一个小(但很关键!)错误,第一个参数应该是错误对象,因此如果您可以按如下方式重写它,您的查询应该可以工作。

function executeQuery(sql, cb){
connection.query(sql, function( error, result, fields){
if (error) {
console.error("An error has occurred:", error);
} else {
cb(result);
}
})
}

Node 回调通常为错误对象保留第一个参数,很容易错过这一点!

此外,我们应该清楚,Node.js Express 代码将在服务器端运行,因此要查看结果,您需要将浏览器指向正在服务的主机和端口,例如http://localhost:3000/ (如果你这样做:)

app.listen(3000);

关于javascript - 如何使用 NodeJS 将 MySQL 中的数据显示为 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58856268/

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