微信小程序采坑之连接MySql数据库

小程序连接MySql数据库

前言:我用的是wafer2 node.解决方案 下面连接有环境配置及搭建流程(https://github.com/tencentyun/wafer2-quickstart-nodejs,连接是官方的可以点击

 

一、配置mysql 数据库连接参数

  打开 server下面的config.js

  user  默认都是 'root'

  db     为连接是数据库名

  pass  默认为小程序APPID

  https://images2018.cnblogs.com/blog/1440627/201807/1440627-20180712214933838-662639721.png

  注意这里有个坑:host开发环境下要填localhost,不要填分配给你的域名,我就手贱的修改了这里,结果找了1个小时才找到问题原因

 

二、Hello World

  先说一下文件结构

    server>controllers 文件夹下面放置的都是接口文件

    server>routes 下面的 index.js 为接口路由

 

  1.controllers 下建立一个demo.js 的文件 输入下面的代码

 

1 module.exports = ctx => {

2   ctx.state.data = {

3     msg: 'Hello World'

4   }

5 }

 

  如图:

  https://images2018.cnblogs.com/blog/1440627/201807/1440627-20180712215341565-1992121902.png

 

  2打开 index.js

  在module.exports = router 前面加入

1 router.get('/demo',controllers.demo)

 

  3.更新腾讯云后

  打开浏览器输入 https://分配的二级域名/weapp/demo

  https://images2018.cnblogs.com/blog/1440627/201807/1440627-20180712215713699-1837873307.png

  更新后浏览器显示

  https://images2018.cnblogs.com/blog/1440627/201807/1440627-20180712215806291-2071273247.png

  三、链接MySql

  在 demo.js添加如下代码

1 const { mysql } = require('../qcloud')

2

3 module.exports = async ctx => {

4   var result = await mysql('user')

5   ctx.state.data = {

6     msg: result

7   }

8 }

  更新腾讯云后访问浏览器就可以获得你想要的数据了

  如图

  https://images2018.cnblogs.com/blog/1440627/201807/1440627-20180712220029999-304967567.png

 

  更多数据操作,knex.js 了解一下

 

 

  附上我的demo.js

 1 // 官网 Demo

 2 // module.exports = ctx => {

 3 //   ctx.state.data = {

 4 //     msg: 'Hello World'

 5 //   }

 6 // }

 7

 8 const { mysql } = require('../qcloud')

 9

10 module.exports = async ctx => {

11   var result = await mysql('user')

12   //sql:select * from `user`

13   ctx.state.data = {

14     msg: result

15   }

16 }

17 // =======================================================================================

18 // select

19 // 显示指定字段:var result = await mysql.select('name', 'id').from('user')

20 // sql:selece 'name', 'id' from `user`;

21

22 // 条件查询:var result = await mysql.select('id','name','openid' ).from('user').where('id',2)

23 // sql: select 'id','name','openid' form `user` where id=2;

24

25 // =======================================================================================

26 // update

27 // var result = await mysql('user').update({ name: 'root', openid: 'xubde724xie=395' }).where('id', 2)

28 // sql:update `user` set name='root', openid='xubde724xie=395' where id=2;

29

30 // =======================================================================================

31 // delete

32 // var result = await mysql('user').del().where('id', 3)

33 // sql:delete from `user` where id=3

34

35 // =======================================================================================

36 // insect

37 // var result = await mysql.insert({ name: 'cain' }, { openid: 'Ux6892Drfixbx'}).into('user')

38 // var result = await mysql('user').insert({ name: 'cain', openid: 'Ux6892Drfixbx' })

39 // sql: insert into `user` (`name`, `openid`) values (`cain`, `Ux6892Drfixbx`)

40 // 两种均可

41 // 会返回插入条目id序号 注意传入的数据类型与表字段的数据类型不符不会报错

你可能感兴趣的:(微信小程序)