微信小程序云开发使用mysql

微信小程序云函数操作mysql数据库

准备

第一步创建一个nodejs云函数

第二步 按照下面的代码编写通用sql执行云函数

// 云函数入口文件
const cloud = require('wx-server-sdk')
const mysql = require('mysql2/promise')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {

  let res;
  try {
    const connection =await mysql.createConnection({
      host: process.env.ipaddr,
      database: process.env.database,
      user: process.env.username,
      password: process.env.password,
    })
   var sql = event.sql;
   var params = event.params;
   res = await connection.execute(sql,params);
  } catch (err) {
    console.log("链接错误", err)
    return err
  }
  return {
    res,
    code:200
  }
}

第三步 修改package.json,这个是为了方便云函数云端安装依赖所需

"dependencies": {
    "wx-server-sdk": "~2.3.2",
    "mysql2":"~2.2.5"
  }

第四步上传云函数并云端安装依赖,看下图

第五步 在云控制台增加环境变量,比如涉及到隐私的数据集地址和密码

  • 路径:云函数列表->定位到目标云函数->点击版本与配置->再点击配置->再点击下方的高级配置
  • 注意:数据库要使用公网地址

测试

 //加载部门人员
  loadGroupUser(depId){
    let sql = 'SELECT su.user_id,su.user_name,su.nick_name,su.phonenumber FROM sys_user as su WHERE su.dept_id = ? AND su.del_flag = 0 ';
    let params = [depId];
    wx.cloud.callFunction({
      name:'db-operator',
      data:{
        sql:sql,
        params:params
      },
      success: res=>{
        console.log(res)
      },
      fail: err =>{
        console.log('[云函数] [db-operator] 调用失败',err)
      }
    })

  },

结果如下便是成功

有问题请留言

原文地址: https://mp.weixin.qq.com/s/09ul-MANKhOK6XG7tZL1hQ

1 Like

这是要把后端给干掉?

1 Like

你猜,万物皆可serverless :see_no_evil: :see_no_evil: :see_no_evil: