html - 使用 Node.js 将 HTML 表单数据插入 HEROKU PostgreSQL 数据库
问题描述
我试图将 HTML 表单中的数据在线插入我的 HEROKU PostgreSql 数据库,但失败了。当我在线执行代码时,我得到(内部服务器错误)这是我拥有的代码。我不确定我在这里做错了什么。
const express = require('express');
var app = express();
var pg = require('pg');
//set port
var port = process.env.PORT || 8080
var connection = {connectionString: process.env.DATABASE_URL || "postgres://xxxxxxxxxxxxxx"};
var client = new pg.Client(connection);
client.connect();
app.use(express.static(__dirname ));
//routes
app.get('/', function (req, res) {
res.render("index");
});
app.post('/submit', function (req, res) {
// Grab data from http request
const data = {firstname: req.body.firstname,
lastname: req.body.lastname,
mail: req.body.mail,
country: req.body.country,
zipcode: req.body.zipcode,
cityName: req.body.cityName,
google: req.body.google,
twitter: req.body.twitter,
linkdin: req.body.linkdin,
facebook: req.body.facebook,
comm: req.body.comm
};
connection.connect(function (err) {
if (err) throw err;
console.log("connected");
var pg = "INSERT INTO userdata(firstname, lastname, mail, country, zipcode, cityname, google, twitter, linkdin, facebook, comm) VALUES ('"+data.firstname+"', '"+data.lastname+"', '"+data.mail+"', '"+data.country+"', '"+data.zipcode+"', "+data.cityName+", '"+data.google+"', '"+data.twitter+"', '"+data.linkdin+"','"+data.facebook+"', '"+data.comm+"')";
connection.query(pg, function (err, result) {
if (err) throw err;
console.log("table created");
});
});
res.sendFile('index.html', { root: __dirname });
});
app.listen(port, function(){
console.log("app running");
})
解决方案
推荐阅读
- mysql - SQL Server 将 varchar 数据转储到 mysql 但不是 mariadb 中的文件加载
- cloud - 使用云服务为温度监控系统制作主从进程
- python - 命令“python setup.py egg_info”失败,错误代码为 1,带有表包
- c# - 如何将评论中的文本设置为评论的颜色?
- arrays - Anylogic中数组的阶梯函数
- mysql - mySQL 在一天内统计不同的客户
- python-3.x - Spark ALS 提供相同的输出
- python - 我想制作一个程序,从用户那里获取整数输入并将它们相加。没有固定数量的参数
- vba - 在excel中查找标题的宏
- c - Clang 优化编译指示