gpt4 book ai didi

javascript - Post 不发送数据到 mySql 表

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

我是编程新手,我一直在尝试发表一篇文章,允许我将数据从 ancount 表单发送到表(mysql 数据库)中。然而,console.log(在 Node Node 控制台上向我显示了一个错误),我似乎无法理解为什么该帖子不起作用。

在已经将握手排队之后,我收到错误无法排队握手,即使我已经在谷歌上搜索过,但我还没有找到一种方法来使帖子工作或摆脱这个错误。

感谢任何帮助。

const express = require('express');
const mysql = require('mysql');

// Create connection
const db = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'nodemysql'
});

// Connect
db.connect((err) => {
if(err){
throw err;
}
console.log('MySql Connected...');
});

const app = express();


app.get('/', function (req, res) {//nome da minha url req(é o que vai na url/ res é o response é o ficheiro)
res.sendFile(path.join(__dirname+'/public/index.html'));
})

app.get('/log_in', function (req, res) {//nome da minha url
res.sendFile(path.join(__dirname+'/public/signin.html'));
})

app.get('/register', function (req, res) {//nome da minha url
res.sendFile(path.join(__dirname+'/public/register.html'));
})

// Create DB
app.get('/createdb', (req, res) => {
let sql = 'CREATE DATABASE IF NOT EXISTS nodemysql';
db.query(sql, (err, result) => {
if(err) throw err;
console.log(result);
res.send('Database created...');
});
});

// Create table
app.get('/createusertable', (req, res) => {
let sql = 'CREATE TABLE user (id int AUTO_INCREMENT, name VARCHAR(50), last_name VARCHAR(50),email VARCHAR(100),password VARCHAR (100),phone VARCHAR (50),country VARCHAR(100),vat_number VARCHAR(9),address VARCHAR(150), PRIMARY KEY(id))';
db.query(sql, (err, result) => {
if(err) throw err;
console.log(result);
res.send('Post table created...');
});
});

db.connect(function(err){
if(err) return console.log(err);
console.log('conectou!');
createTable(connection);
})

app.listen('3000', () => {
console.log('Server started on port 3000');
});


app.use(express.static('public'))
const bodyParser = require("body-parser");

app.use(bodyParser.urlencoded({
extended: true
}));

app.use(bodyParser.json());


app.post('/register', function (req, res) {
console.log(req.body.user.name);
let post = {name:req.body.user.name, last_name:req.body.user.lastName,
email:req.body.user.email, password:req.body.user.password, phone:req.body.user.phone,
country:req.body.user.country, vat_number:req.body.user.nif, address:req.body.user.address};

let sql = 'INSERT INTO user SET ?';
let query = db.query(sql, post, (err, result) => {
if(err) throw err;
res.redirect(303,'/');

});
});

最佳答案

在脚本开头启动连接后,您似乎在创建表步骤中启动了另一个 db.connect。

这是一个双连接发起,没有任何connection.end();关闭最初打开的连接。

我认为当您从“创建表”步骤中删除 db.connect 时,您会更幸运。

请查看this documentation进一步阐明我的观点。

关于javascript - Post 不发送数据到 mySql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54256319/

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