使用 express mysql 创建 登陆验证功能
时间: 2024-03-15 07:03:54 浏览: 51
好的,我可以为您提供一个简单的示例代码来演示如何使用 Express 和 MySQL 创建登录验证功能。
首先,您需要安装 Express 和 MySQL 模块。您可以使用以下命令进行安装:
```
npm install express mysql
```
接下来,您需要创建一个 MySQL 数据库,并创建一个名为 `users` 的表,该表包含以下列:
- `id` - INT,主键,自动增量
- `username` - VARCHAR(255)
- `password` - VARCHAR(255)
接下来,创建一个 `app.js` 文件并添加以下代码:
```
const express = require('express');
const mysql = require('mysql');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
// 创建 MySQL 连接池
const pool = mysql.createPool({
connectionLimit: 10,
host: 'localhost',
user: 'your_mysql_username',
password: 'your_mysql_password',
database: 'your_database_name'
});
// 使用 body-parser 中间件解析请求体
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// 处理登录请求
app.post('/login', (req, res) => {
const { username, password } = req.body;
// 从连接池中获取连接
pool.getConnection((err, connection) => {
if (err) {
console.error(err);
res.status(500).send('Internal Server Error');
return;
}
// 查询用户是否存在
connection.query('SELECT * FROM users WHERE username = ?', [username], (err, results) => {
if (err) {
console.error(err);
res.status(500).send('Internal Server Error');
return;
}
// 检查密码是否匹配
if (results.length === 0 || results[0].password !== password) {
res.status(401).send('Invalid username or password');
return;
}
res.send('Login successful');
});
});
});
// 启动服务器
app.listen(port, () => {
console.log(`Server started on port ${port}`);
});
```
在上面的代码中,我们首先创建了一个 MySQL 连接池,然后使用 `body-parser` 中间件解析请求体。然后我们定义了一个 `/login` 路由来处理登录请求。在路由处理程序中,我们首先从连接池中获取连接,然后查询数据库以查找用户。如果用户不存在或密码不匹配,则返回 401 响应。否则,返回成功登录的消息。
最后,我们启动服务器并监听端口 3000。
请注意,上面的代码仅供参考,您需要根据自己的实际需求进行调整。同时,为了安全起见,建议将密码存储为哈希值而不是明文。
阅读全文