最近我在做一个微信小程序,其中有一个页面,页面里面需要连接我的后台数据库,把用户数据传递到我的MySQL数据库中。

最初,我在网上找了很多东西,发现并没有一个特别详细明确的教程,其中大多数都只是把他的代码给出来。

这里可以给出一个网。PHP 连接 MySQL (yuque.com)

 这个网站给出了,解决问题的办法。

当然首先你得有一个服务器,然后你得注册一个域名。这里我使用的是宝塔面板帮助我搭建的网站。

微信小程序可以连接sql server嘛 微信小程序连接mysql数据库_数据库

 其中insert.php就是后台连接的脚本文件。

微信小程序可以连接sql server嘛 微信小程序连接mysql数据库_数据库_02

这个是微信信息采集的界面

 下面是这个界面的实现的代码senddata.ts

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phonenumber:123,
    pictureid:"",
    nickname:'',
  },
  chooseavatar(e:any) {
    this.setData({
      pictureid:e.detail.avatarUrl
    })
    //console.log(e)//头像信息的临时路径
  },

  handleInput(e:any){
    this.setData({
      nickname:e.detail.value
    })
  },
  
  handlephonenumber(e:any){
    this.setData({
      phonenumber:e.detail.value
    })
  },
  sentdata()
  {
    wx.request({
      url: '你的网页/insert.php',
      method:"GET",
      data:{
        phone:this.data.phonenumber,
        pic:this.data.pictureid,
        name:this.data.nickname,
      },
      success: function(res) {
        console.log(res)
      },
      fail: function(err) {
        console.log(err)
      }
    })
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
sentdata()
  {
    wx.request({
      url: 'https://*********/insert.php',//其中*****是你的网站
      method:"GET",
      data:{
        phone:this.data.phonenumber,
        pic:this.data.pictureid,
        name:this.data.nickname,
      },
      success: function(res) {
        console.log(res)
      },
      fail: function(err) {
        console.log(err)
      }
    })
  },

这个函数便是实现传递参数的。该函数需要使用一个微信小程序的一个api接口:wx.request。

RequestTask | 微信开放文档 (qq.com)

其中的data是用来传递参数的,后台的PHP脚本会有$_GET变量来获取传递的参数。

下面来看一下后台的脚本

<?php
$servername = "域名:端口";
$username = '数据库登陆用户';
$password = '密码';
$database = '数据库的名称';

$name = $_GET["name"];
$picad = $_GET["pic"];
$phone = $_GET["phone"];

$conn = new mysqli($servername,$username, $password);

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
echo "连接成功";
mysqli_select_db($conn,"user");
$sql = "INSERT INTO data (name, phonenumber, picaddress)
VALUES ('$name', '$picad', '$phone')";//这里务必单引号
if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
 
$conn->close();
?>

首先后台脚本连接MySQL数据库

<?php
$servername = "localhost";
$username = "username";
$password = "password";
 
// 创建连接
$conn = new mysqli($servername, $username, $password);
 
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
echo "连接成功";
?>

然后进行插入数据

<?php
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
 
if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
 
$conn->close();
?>

后台脚本写好之后便可以实现和后台数据库的连接。