当连接MySQL的时候总是出现各种各样的小问题,可以选用微信小程序自带的云数据库

建立云数据库

注:测试号不能建立云数据库
按图中步骤来
在这里插入图片描述

建表

第4步中,有两种添加方式
第一种
在这里插入图片描述
第二种
在这里插入图片描述
注意:
如果你是粘贴复制的,他会报错非数字字符"无法使用外部字符串表示法位于第1行。这时,在第一行的{后敲个回车就可以通过了。

导入MySQL中的表

导出

在SQLyog中,选中你要导出的表,右键,备份/导出—导出表数据作为
在这里插入图片描述
在这里插入图片描述

导入

在这里插入图片描述
在这里插入图片描述

云数据库初始化

把一下代码复制到指定位置

app.js 中

// app.js

App({

  onLaunch: function () {
    // 展示本地存储能力
    wx.cloud.init({
      traceUser: true,
      env:'cloud1-1grn69gh9be4f1c3'
    })
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  }
  

})

你需要用到云数据库的页面的js代码的最上面(Page({})的上面)

const db = wx.cloud.database()

登录注册

注册功能

下面这段代码放在你设置的注册按钮上的点击函数

      wx.cloud.database().collection('user').add({
      //user 指的是表,替换成你自己的。add相当于sql中的insert
       data: {
       //表中的字段,替换成你自己的
        username: this.data.username,//页面input传入的值
        password: this.data.password
       },
       success(res) {
        console.log('注册成功', res)
        wx.showToast({
         title: '注册成功',
        })
        wx.navigateTo({
         url: '/pages/login/index',
        })
       },
       fail(res) {
        console.log('注册失败', res)
       }
      })

登录功能

下面这段代码放在你设置的登录按钮上的点击函数

    wx.cloud.database().collection('user').where({
    //先是查询用户名是否存在
    username: this.data.username
    }).get({
    success(res) {
      console.log("获取数据成功", res)
      let user = res.data[0]
      console.log("user", user)
      wx.setStorage({
        data: true,
        key: 'loginOk',
      })
      if(user==undefined)
      {
        console.log('登陆失败')
        wx.showToast({
          icon: 'none',
          title: '账号或密码不正确',
        })
      }
      if (password == user.password&&username ==user.username) {
      console.log('登陆成功')
      wx.navigateTo({
        url: '/pages/user/user',
      })
      wx.showToast({
        title: '登陆成功',
      }),
      wx.switchTab({
        url: "/pages/user/user",
        success: function (e) {  
          var page = getCurrentPages().pop();  
          if (page == undefined || page == null) return;  
          page.onLoad();  
        }  
      })

      //保存用户登陆状态
      wx.setStorageSync('user', user)
      
      } else if(res.data[0]==null){
        wx.showToast({
          title: "请先注册",
        })
        wx.navigateTo({
          url: '/pages/register/register',
        })
      }
      else{
      console.log('登陆失败')
      wx.showToast({
        icon: 'none',
        title: '账号或密码不正确',
      })
      }
    },
    fail(res) {
      console.log("获取数据失败", res)
    }
    })

查询(模糊查找)

注,精确查找的话,刚刚登录里面找用户名的就是

  //获取输入的内容
  inCiju:function(e){
    this.data.ciju = e.detail.value;
},
// getGuInfo1是查找按钮的函数
getGuInfo1:function (e) {
  var that=this;
  console.log(this.data.ciju);//就在控制台检查一下传参是否正常
  db.collection("poems").where({	 	
  //poems是表名,替换成你自己的
  //利用正则进行模糊查询
  content: db.RegExp({
    regexp: this.data.ciju,//ciju是input传过来的字段,替换成自己的
    options: 's'
  })
}).get({
  success: res=>{
  	//下面这俩都是检查用的,可以删掉
    console.log(JSON.stringify(res.data))
    console.log(res.data)
 	//获取数据库的数据
    this.setData({
      gushi: JSON.stringify(res.data),
    })
    //下面是带参数跳转到另一页面,不需要可以删掉。
     const shici = JSON.stringify(res.data)
    wx.navigateTo({
       url: '../search/search?shici='+shici,
       })
     }
  })
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐