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

前言:我用的是wafer2 node.解决方案 下面连接有环境配置及搭建流程() ,连接是官方的可以点击

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

  打开 server下面的config.js

  user  默认都是 root

  db   为连接是数据库名

  pass  默认为小程序APPID

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

二、Hello World

  先说一下文件结构

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

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

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

module.exports = ctx => {
   ctx.state.data = {
     msg: Hello World
   }
 }

  如图:

  2、打开 index.js

  在module.exports = router 前面加入

router.get(/demo,controllers.demo)

  3.更新腾讯云后

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

  更新后浏览器显示

  三、链接MySql

  在 demo.js添加如下代码

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

module.exports = async ctx => {
  var result = await mysql(user)
  ctx.state.data = {
    msg: result
  }
}

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

  如图

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

  附上我的demo.js

// 官网 Demo
// module.exports = ctx => {
//   ctx.state.data = {
//     msg: Hello World
//   }
// }

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

module.exports = async ctx => {
  var result = await mysql(user)
  //sql:select * from `user`
  ctx.state.data = {
    msg: result
  }
}
// =======================================================================================
// select
// 显示指定字段:var result = await mysql.select(name, id).from(user)
// sql:selece name, id from `user`;

// 条件查询:var result = await mysql.select(id,name,openid ).from(user).where(id,2)
// sql: select id,name,openid form `user` where id=2;

// =======================================================================================
// update
// var result = await mysql(user).update({ name: root, openid: xubde724xie=395 }).where(id, 2)
// sql:update `user` set name=root, openid=xubde724xie=395 where id=2;

// =======================================================================================
// delete
// var result = await mysql(user).del().where(id, 3)
// sql:delete from `user` where id=3

// =======================================================================================
// insect
// var result = await mysql.insert({ name: cain }, { openid: Ux6892Drfixbx}).into(user)
// var result = await mysql(user).insert({ name: cain, openid: Ux6892Drfixbx })
// sql: insert into `user` (`name`, `openid`) values (`cain`, `Ux6892Drfixbx`)
// 两种均可
// 会返回插入条目id序号 注意传入的数据类型与表字段的数据类型不符不会报错
经验分享 程序员 微信小程序 职场和发展