2024.10.18-10.28 微信小程序开发(借助node.js连接mysql数据库)

微信小程序与本地MySQL数据库通信_微信小程序连接mysql数据库-CSDN博客

MySql命令行窗口操作_mysql 代码窗口-CSDN博客

微信小程序 Node连接本地MYSQL_怎么查看数据库密码-CSDN博客

微信小程序连接MySQL数据库_微信小程序开发连接mysql非本地数据库-CSDN博客

根据上述博客下载node.js,要下载长期稳定版


mysql workbench 上面命令行看mysql

以下是通过命令行看我电脑上的数据库(目前是mysql-8.0.37那个版本)(这个图片还是8.0版本时候截取的,实际上现在用的mysql是5.0版本)

我的图形化界面插件如下:

目前还没弄明白连接本地数据库T-T

不过没关系,我先做静态的页面,这个部分慢慢探索。


一直报错原因:

微信小程序node连接mysql数据库_微信小程序本地数据库连接-CSDN博客(在这篇博文获得灵感)

8.0版本的加密方法node.js还不支持!

最快速的方法就是卸载掉mysql,安装5.0版本,就可以成功连接了!!!

mysql5.0安装过程看这篇博文:MySQL5.0-win64安装过程_mysql5.0 64位-CSDN博客


server.js代码如下:

javascript 复制代码
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const mysql = require('mysql');

app.use(bodyParser.json()); // 解析JSON请求体

// 创建数据库连接池
const pool  = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: '123456',
  database: 'englishapp'
});

// 处理GET请求的根路径,查询数据库并返回结果,显然为了请求的通用性,则我的查询语句由小程序端完整生成,服务端只负责查询语句的中转
app.get('/', (req, res) => {

  pool.query(req.query.query, (error, results, fields) => {
    if (error) {
      console.error(error);
      return res.status(500).send('Internal Server Error');
    }
    res.json(results); // 返回查询结果
  });
});

// 处理POST请求,用于数据写入
app.post('/', (req, res) => {
    const { table, columns, values } = req.body; // 从请求体获取数据
  
    // 构建SQL插入语句
    const placeholders = columns.map(() => '?'); // 原数组映射为新数组,新数组的每个元素均为问号,使用问号作为占位符
    const sql = `INSERT INTO \`${table}\` (${columns.join(', ')}) VALUES (${placeholders.join(', ')})`;
  
    // 执行SQL插入语句
    pool.query(sql, values, (error, results, fields) => {
    // 返回插入错误的信息
      if (error) {
        console.error(error);
        return res.status(500).send('Database error');
      }
    //   返回提示信息
      res.status(201).json({ message: 'Data inserted successfully', insertId: results.insertId });
    });
  });

// 启动服务器监听3000端口,并打印启动信息
app.listen(3000, () => {
  console.log('Server running at http://127.0.0.1:3000');
});

register界面的register.js文件代码onLoad()如下:

javascript 复制代码
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    /**
     * 生命周期函数--监听页面加载
     */
    wx.request({
        url: 'http://127.0.0.1:3000/',
        method: "get",
        data: {
          query: "select * from users"
        },
        success: function (res) {
          console.log(res.data)
        }
    });
  }

每次都要在命令行打开server.js

javascript 复制代码
node server.js

一、搭建HTTP服务器

1.1 首先安装好Node.js

https://nodejs.org/en

打开上面网址你就可以看到下载按钮了,下载exe安装包后直接安装即可。

1.2 创建服务器的专属文件夹

在磁盘的任何位置随便创建一个吧(建议不要在C盘),比如我创建的文件夹路径:

D:\WeChatCourse\APP1\EnglishAPP\NodeMysql

1.3 安装依赖项

打开控制台,进入上面创建的文件夹目录,然后依次运行以下命令:

初始化服务器

npm init -y

安装Express框架,用于快速创建HTTP服务器

npm install express --save

安装nodemon监控文件修改

npm install nodemon -g

安装mysql的软件包

npm install mysql --save

上述这些依赖的安装速度可能并不快,因此需要读者有足够的耐心等待。

相关推荐
专业程序开发源7 小时前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
QQ_21696290967 小时前
基于微信小程序的智能膳食分析系统
java·大数据·spring boot·微信小程序·小程序·旅游
QQ_21696290968 小时前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
扶风ff1 天前
求职笔试资料太散?用练题簿在线刷题,按岗位整理练习清单
前端·学习·小程序
Ai-_Man1 天前
请问豆包的智能体聊天记录该怎么弄
开发语言·前端·javascript·人工智能·小程序·ecmascript·电脑
m0_462803882 天前
名单制签到怎么落地:拆解“仅名单内人员签到“的配置链路与匹配逻辑
微信小程序
Ai-_Man2 天前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
卓怡学长2 天前
w192基于springboot“考研情报站”微信小程序设计与实现
java·spring boot·spring·微信小程序·intellij-idea
2601_949950632 天前
练题簿小程序的 4 个功能,把学习资料变成题库
人工智能·小程序·刷题·练习·小程序推荐
Mingprime2 天前
短时冲刺,孤军奋战,压力山大
小程序