做这个东西之前,我在网上搜了好久,啥都没发现,都是用腾讯云数据库实现的,还有的是用php或者jsp写一个servlet,但是我认真查看微信小程序文档之后,我发现可以用云函数来实现。

以下都是原创,摸索一天了。。。。

第一步:配置云函数并调用

然后在cloudffunctions里面,新建Node.js云函数(腾讯会送你一个内存很小的服务器,云函数可以跑在上面,可以完成性能不需要太大的服务)

比如说我们新建一个叫mysql的云函数

然后编辑index.js

代码我放在这里,转载请注明出处。。

// 云函数入口文件
const cloud = require('wx-server-sdk')
//引入mysql操作模块
const mysql = require('mysql2/promise')
cloud.init()// 云函数入口函数
exports.main = async (event, context) => {const wxContext = cloud.getWXContext()try {const connection = await mysql.createConnection({host: "IP地址",database: "数据库名",user: "root",password: "密码"})const [rows, fields] = await connection.execute('MySQL语句')return rows;} catch (err) {console.log("链接错误", err)return err}
}

然后右键你这个mysql,选择在终端打开

然后运行

npm install mysql2

ps:如果你显示找不到npm,,,那么你需要慢慢来,百度以下安装npm,这大约会花费你一个小时的时间

然后右键你的云函数,点击上传并部署:云端安装依赖

做到这里,云函数就算完事了

然后可以在云端测试一下

点击云开发-》云函数-》点击云端测试

然后就用他的模板测试就行,看一看返回值,如果报错,请检查mysql连接

这是正常的测试结果

然后写到这里,云函数就算完事了。

第二步:开始写云函数的调用

我定义了一个button,来设置监听调用这个云函数,然后我data里面有dis,hum,temp和time四个属性,我需要把他们提取出来,并且显示出来

然后我在index.wxml中写了几个view,button

代码如下

<!--index.wxml-->
<view class="container"><view class="title">实时温湿度及距离</view>
<text decode>&nbsp;</text>
<view class="status">距离:{{dis}}</view>
<text decode>&nbsp;</text>
<view class="status">湿度:{{hum}}</view>
<text decode>&nbsp;</text>
<view class="status">温度:{{temp}}</view>
<text decode>&nbsp;</text>
<view class="status">时间:{{time}}</view>
<text decode>&nbsp;</text>
<text decode>&nbsp;</text>
<button type="primary" bindtap="but">获取最新数据</button>
</view>

然后效果如下

然后开始写index.js(这里面有button的function)

代码如下

//index.js
const app = getApp()Page({data: {rows: 'rows',dis: 'dis',hum: 'hum',temp: 'temp',time: 'time'},but: function () {  // 通过but点击事件触发后面的函数let rows = this.rowslet dis = this.dislet hum = this.humlet temp = this.templet time = this.timevar that = thisconsole.log("start:")wx.cloud.callFunction({name: 'mysql',data: {//rows:rowsdis: dis,hum: hum,//temp: temp,//time: time},success: res => {console.log('云函数调用完成')console.log(res)let dis = res.result[0].dislet hum = res.result[0].humlet temp = res.result[0].templet time = res.result[0].time//let hum = res.result.0.humthat.setData({ dis: dis})that.setData({ hum: hum })that.setData({ temp: temp })that.setData({ time: time })},fail: err => {console.error('云函数调用失败')}})},
})

然后你运行的时候,会返回一个res到你的console,然后你可以看看这个详情

看到这个result里面,有一个0,这个0里面,就是要提取的数据,正常来说,这个let dis = res.result[0].dis这个地方应该写成

let dis = res.result.0.dis,,,但是这是不对的,不能出现0,会报错,我当时卡了半天,然后我问了以下老师,她说她也没见过,然后她试了一下,告诉我要把数字放到[ ]里面。。。。(特别注意,网上搜不到。。。卡在这里很难受)

然后代码就这些

就可以测试了,你要根据你自己的数据库来,我连数据库是根据我自己情况来的,你自己改变量,很简单。

微信小程序用云函数连接自己服务器上的MySQL数据库相关推荐

  1. 微信小程序使用云函数进行mysql操作

    微信小程序使用云函数进行mysql操作 其他操纵数据库方式的一些问题 准备工作 云函数代码 调用云函数时候的代码 最后还需要注意的一些小事情: 其他操纵数据库方式的一些问题 现在使用小程序,对数据库的 ...

  2. uniapp实现微信小程序调用云函数及问题解决

    uniapp实现微信小程序调用云函数及问题解决 使用工具 HBuilder X 微信开发者工具 实现步骤 1.在项目根目录下创建functions文件夹(此为wxcloudfunctions文件夹,可 ...

  3. 微信小程序 调取云函数 信息推送失败response out of time limit or subscription is canceled hint的具体解决方法

    微信小程序 调云函数 信息推送失败,提示errcode":45015,"errmsg":"response out of time limit or subsc ...

  4. 【微信小程序】云函数使用excel-export导出excel

    1.安装nodejs环境 到官网下载安装包(node-v12.14.1-x64.msi),点击下一步一直安装到底 2.使用命令行模式进入小程序项目云函数文件夹,执行安装excel-export命令,安 ...

  5. 微信小程序 通过云函数请求http网站接口

    微信小程序正式版无法调用http类型的API接口,只有htttps类型才可以通过验证,可以利用云函数避免这一难点.下面我会给出一个小案例. 原文地址:www.920vip.net/article/70 ...

  6. 【微信小程序】云函数/云数据库 errMsg: parameter should be object instead of undefined

    以下内容仅作为学习记录,请大佬轻喷. 学习近义词反义词微信小程序课程,在尝试"add_words_correlation"云函数时,云函数本地调试在这个错误上卡了好久. 一开始没有 ...

  7. 微信小程序通过云函数进行微信支付

    转自:http://www.wxapp-union.com/article-5407-1.html 微信小程序微信支付官方流程图链接我简化的流程:本地发起下单请求调用云函数并传送数据云函数处理数据并返 ...

  8. 微信小程序使用云函数发送邮件

    看完本文你将学到: 微信小程序云函数的部署与使用 nodemailer插件的使用 背景故事: hello,大家好这里是小曹同学.上个星期因为原来开发学校课程表的学长毕业了课程表小程序不能用了. 在受了 ...

  9. 解决: 微信小程序 调用云函数数据库一直失败的解决办法

    今天跟着教程做一个新的Demo,死活都不能向云函数数据库添加数据,对照代码找了好久也没发现问题,看了很多帖子都不能解决,直到看到了快被云函数逼疯了这个帖子. 这是一个微信小程序开发的一个BUG,如果你 ...

  10. 微信小程序-使用云函数获取微信的openid

    1.新建云函数login_get_openid 云开发环境初始化参见:https://blog.csdn.net/yuxiao1121/article/details/125222407 新建云函数参 ...

最新文章

  1. 手机内部零件名称图解_外协加工:200件零件/机加件配套加工
  2. python【蓝桥杯vip练习题库】BASIC-14 时间转换(取余 水题)
  3. 小程序分享,获取openid
  4. c语言面试题大汇总之华为面试题,计算机c语言面试题大汇总之华为面试题6.doc...
  5. sketch怎么移动图层_什么是Photoshop Express,Fix,Mix和Sketch移动应用程序?
  6. 登录判断_Spring Security之多次登录失败后账户锁定功能的实现
  7. 八个使前端工程师惊艳的效果设计,码否?
  8. python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)
  9. 从安装认识Angular 2
  10. python自动化办公模块有哪些-Python自动化办公知识点整理汇总
  11. 配置nessus服务在kali中开机自启动
  12. 三款免费好用的Gif录屏神器
  13. MATLAB基础教程(xlsread和xlswrit函数+数据拟合+数值计算)
  14. FlashFXP V3.3.9(真正破解) 绿色版
  15. Ubuntu 入门学习之从安装部署到java环境的安装
  16. linux怎么添加跃点数,Windows 7修改静态路由表的跃点数
  17. 博士申请 | 新加坡南洋理工大学尹旬元老师招收机器学习方向全奖博士/博后
  18. Express Cookie的使用
  19. 路由器自身拥有IP地址吗?
  20. Windows 服务快捷启动命令 命令行命令大全

热门文章

  1. 基于jsp+mysql的JSP新闻发布管理系统
  2. 代码行数统计插件(Intellij IDEA 代码统计插件 Statistic 详细使用教程)
  3. 为什么在Kotlin中运行0xFFFFFFFF不是-1
  4. Java中char 转化为int 的两种方法
  5. Alink漫谈(十三) :在线学习算法FTRL 之 具体实现
  6. 编程语言PHP Daemon开发-使用QPM管理PID文件
  7. Linux最常用的15个基本命令
  8. 简单粗暴Kafka集群搭建
  9. get方法 java_Java App.get方法代码示例
  10. 背包九讲——多重背包