使用微信小程序的wx.request建立数据库链接时,要注意微信小程序有一个要加载的request合法域名。如果没有加载的域名可能无法使用,所以要提前进行如下操作:
点击右上角的中的详情:
在不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书中划√
这样就可以使用未录入的域名,我们假定云服务器为http://180.200.24.1:8080,接口为index.php,使用腾讯云数据库,内网地址为:172.15.0.2:3306,数据库结构如下:
数据库的名字为testinfo,数据表为datatest
接下来我们要实现小程序与云数据库的链接:
实现过程如下:小程序通过wx.request接入云服务器接口——>通过index.php接口对接腾讯云数据库——>通过腾讯云数据库接入传参到index.php——>传递回小程序
我们通过username将id,username,password三个参数传回来:
index.php接口
$name=$_GET['username'] ;//接收参数
$conn = mysqli_connect("172.15.0.2", "root","xxxxx(密码)","testinfo");//连接MYSQL数据库
$sql = "SELECT id,username,password FROM datatest WHERE username='{$name}'";//响应请求
$result = mysqli_query($conn, $sql);//执行
if (mysqli_num_rows($result) > 0) {// 输出小程序数组
while($row = mysqli_fetch_assoc($result)) {
echo json_encode($row);//将请求结果转换为json格式
}
}
通过linux或者相关工具(例如winscp)传递到云服务器的var/www/html中,配置如何调整,在另一篇文章中会提及。
小程序端:
index.js
var that = this;
wx.request({
url:'http://180.200.24.1:8080/index.php',
data:{
username:'2121'
},
header:{
'content-type':'application/json'
},
method:'GET',
success:function(res){
console.log(res);
that.setData({
username: res.data.username;
password: res.data.password;
})
}
})
这样就将id,username,password下载进入res.data