小程序云开发的功能是越来越强大了,现在小程序云开发可以直接借助云函数来链接mysql数据,操作mysql数据库了,今天就来给大家讲一讲如何使用小程序云开发的云函数来操作mysql数据库。
首先要明确一点,就是小程序云开发的云函数是基于node.js的,所以我们使用node.js的mysql2模块可以直接来链接并操作mysql数据库,所以我们现在要做的就是怎么样在云函数里使用mysql2模块,并且借助这个模块类库来实现mysql数据库的链接。
老规矩,先看效果图
我们这里要做的就是在云函数里链接mysql数据库,并返回链接的mysql数据库的版本号。mysql数据库都能成功链接了,后面对mysql的增删改查操作也就是小意思了。所以我们这里先成功的链接mysql数据库才是最重要的。
一,创建小程序并引入云开发
这里我不在做讲解,我之前有讲过小程序云开发的初始化创建,也有录视频讲解,不懂的同学可以移步去看下,云开发项目的创建视频
https://edu.csdn.net/course/play/9604/284440
这里有3点需要注意的
1,一定要在app.js里做云开发环境的初始化
2,在project.config.json里配置云函数的目录
3,一定要用自己注册的小程序的appid
二,创建云函数,名字就叫mysql吧。
在我们的cloud,右键创建云函数
三,安装mysql2模块依赖
1,右键我们的mysql云函数,点击在终端中打开
2,在终端中输入 npm install mysql2
需要你电脑安装npm,如果没有安装,请自行百度,网上很多npm的安装教程的。
等待我们的mysql2安装成功
四,编写mysql云函数链接mysql数据库
完整的代码给大家贴出来
// 云函数入口文件
const cloud = require('wx-server-sdk')
//引入mysql操作模块
const mysql = require('mysql2/promise')
cloud.init()
// 云函数入口函数
exports.main = async(event, context) => {
//链接mysql数据库的test库,这里你可以链接你mysql中的任意库
try {
const connection = await mysql.createConnection({
host: "你的服务器ip",
database: "操作那个数据库",
user: "mysql使用后名",
password: "mysql密码"
})
const [rows, fields] = await connection.execute('SELECT version();')
return rows;
} catch (err) {
console.log("链接错误", err)
return err
}
}
记得把上面的host,database,user,password 替换成你自己的。
五,上传并部署云函数
部署成功
这里有一点需要注意,就是你不能用云函数链接你本地mysql数据库,因为上传云函数以后,是上传到里微信服务器,没有办法调用到你本地mysql到,除非你设置下本地mysql可以被外界访问,或者使用你自己服务器上的mysql数据库。
这样就可以成功的使用微信小程序链接我们的mysql数据库了。
到这里我们点用自己定义的mysql云函数,就可以成功的链接我们的mysql数据库了。
是不是很简单。
更多关于云开发的知识,可以翻看我之前的文章,也可以看我录制的视频讲解
视频讲解
https://edu.csdn.net/course/detail/9604
有任何关于小程序的问题都可以加石头哥微信2501902696(备注小程序)
我们下一节给大家讲解使用小程序云开发实现邮件的发送功能。敬请期待。
您好,这种方式用到的是什么通信协议啊?
result: {message: "connect ECONNREFUSED 127.0.0.1:3306", code: "ECONNREFUSED", errno: "ECONNREFUSED"}连接的不是本地MySQL出现这样的错误是因为什么
如果用云函数又用mysql, 岂不是要交双份钱
学习中的小白, 请教下楼主哈, 小程序提供了云函数 , 然后你也有mysql, 我的理解是要么你用云函数链接微信的数据库, 要么直接链接mysql不就好了?为什么要通过云函数链接你的mysql?
请问这种方式连接本地mysql数据库,该ip需要备案吗?
connect EHOSTUNREACH 请问这个错误是咋回事