工作基本插入"/>
Express/mySQL 查询不工作基本插入
const express = require('express')
const app = express()
const cors = require('cors');
const mysql = require('mysql');
const port = 3001
const db = mysql.createPool({
host: "localhost",
user: "root",
password: "password",
database: "website"
});
app.use(cors());
app.use(express.json());
db.getConnection(function(err, connection) {
console.log(err)
});
app.get('/', (req, res) =>{
var insert = "INSERT INTO users (Name, School, Degree) VALUES ('Anthony', 'UARK', 'CSCE')";
db.query(insert, (err, result) =>
{
res.send("Hello")
})
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
我只是想通过在我的表中添加一行来测试我的连接。任何有关如何修复或帮助测试问题的输入都将受到赞赏。我一直在关注一个 youtube 视频,但我不确定我哪里出错了,评论部分也没有太大帮助。数据库名和表名都正确,密码也正确。
我已经将控制台日志添加到 app.get 和 db.query,它们没有显示在控制台中,但是 res.send 显示在 localhost:port 上
回答如下:As shown in this NodeJS package mysql documentation you can try this:
var mysql = require("mysql");
var db = mysql.createConnection({
host: "localhost",
user: "root",
password: "password",
database: "website"
});
db.connect(error => {
if (error) throw error;
console.log("Connected to database.");
});
app.get('/', (req, res) =>{
var insert = "INSERT INTO users (Name, School, Degree) VALUES ('Anthony', 'UARK', 'CSCE')";
db.query(insert, (err, result) => {
if (error) throw error;
console.log("Data Inserted.");
res.send("Data Inserted.");
});
});
理想情况下,您希望插入查询编码如下:
var insert = "INSERT INTO users (Name, School, Degree) VALUES (?, ?, ?)";
var dataToInsert = { Name: "Anthony", School: "UARK", Degree: "CSCE" };
db.query(insert, dataToInsert, (err, result) => {
//...
此外,通常带有数据的数据库插入通过 POST 请求发送到服务器。
更多推荐
Express/mySQL 查询不工作基本插入
发布评论