第一次做微信小程序,碰到了很多问题,仅对验证过的内容进行简单记录。
1、新建云函数mysql
云开发环境初始化参见:https://blog.csdn.net/yuxiao1121/article/details/125222407
新建云函数参见:https://blog.csdn.net/yuxiao1121/article/details/125235036
2. 安装mysql2,mysql文件夹上点击右键,选在在终端打开:
输入:npm install mysql2
等待安装完成:
我安装后的信息如上图所示,感觉看起来是存在问题的,但是我不知道问题在哪里,暂时没有去例会,继续。
安装完成后,mysql下多出一个文件夹和一个文件。
3、mysql文件下的index.js
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 引入mysql操作模块
const mysql = require('mysql2/promise')
// 云函数入口函数
exports.main = async (event, context) => {
//链接mysql数据库的test库,这里你可以链接你mysql中的任意库
try {
const connection = await mysql.createConnection({
host: "服务器地址",
database: "数据库名",
user: "用户名",
password: "密码"
})
// event.sql为传入的SQL语句,可以用SELECT version();来测试,注意要用引号引起来
const [rows, fields] = await connection.execute(event.sql)
connection.end(function(err) {});
return rows
} catch (err) {
return err
}
}
4、右键点击mysql文件夹,选择“上传并部署:云端安装一栏(不上传node_modulesl)”,等待上传完成。注意,每次修改了js文件,都要重新上传(右键点击js文件,选择“云函数增量上传:更新文件”),否则将按原来的代码执行。
5、云函数调用,我是在index页面里调用的。
index.js
// index.js
Page({
onLoad(){
wx.cloud.callFunction({
name:'mysql',//云函数名称
data:{
sql: "SELECT version();'
},
success: res=>{
console.log("res:", res)
},
fail: err =>{
console.log('[云函数] [db-operator] 调用失败',err)
}
})
}
})
编译后,在控制台可以看到返回的版本号。
后记:
mysql2安装的结果让我耿耿于怀,如果有大神知道,请留言指教!