前言

在写php接口之前
需要事先搭建好环境
1 拥有一台服务器
2 服务器安装好宝塔
3 搭建安装好Apache套件(包括php Apache MySQL数据库等等)
4 已经开放相应的端口
5 安装微信开发者工具

如果小白没关系,下面的视频会一步一步的说明很详细,真心推荐
https://www.bilibili.com/video/BV1QA411b76i?p=1
极力建议给这位up主一键三连
视频是以搭建网站为目的搭建服务器环境,如果是单纯想写接口或者使用服务器的话,视频从第二集中间部分搭建站点开始以后的内容可以不观看,只需要观看第一集和第二集前面部分即可

同时以下内容纯个人见解,不妥之处请见谅。希望帮助到有需要的人

什么是php接口

php接口是一个放在服务器上 特定文件夹下(特定路径下)的 以.php为后缀的文件,如:

举个例子:本文主要介绍在微信小程序上通过网络请求执行服务器上的php文件 php文件里面的代码查询服务器某数据库 并获取该数据库上的信息 最后将信息返回到微信小程序中。微信小程序用一个变量接收返回过来的信息并放在标签< text >中在页面展示出来。
说到这里应该就明白了,接口的作用。
所以补充一下定义:
1 php接口是一个放在服务器上 特定文件夹下(特定路径下)的 以.php为后缀的文件。
2 php接口是一段php代码,可以通过网络请求来远程执行,并能返回执行结果。

所以我们接下来的工作是
  1. 新建站点:使得外界能够对我们服务器发起网络请求,同时为了知道写好的php在服务器上的存放路径(根据定义1)
  2. 数据库插入数据:简单插入一行用于测试使用的 数据
  3. php文件的创建,php代码的编写:在php文件中写一段访问数据库的代码,能查询数据库,并能响应网络请求返回查询数据
  4. 将写好的php文件放到新建站点的时候得到的特定文件夹下
  5. 新建微信小程序项目,并对服务器上的php文件发起请求,执行php代码,获取返回数据,展示数据

新建站点

本机浏览器打开宝塔面板

添加站点时候,修改两个地方
1 域名写你服务器IP即可
2 创建Mysql数据库,用户密码自动生成的 不用自己写
其他地方 例如路径什么的 可以不改变

这里要注意了这里的根目录就是刚刚定义1所说的特定路径 记住路径等下 将写好的php文件放到改路径里面

点击提交以后 可以在数据库中看到刚刚创建的Mysql数据库

数据库插入测试数据

点击管理

新建一个表

简单填写配置字段就好,其他不用改,然后点击保存

保存以后可以在左边看到新建的text表,同时我们设置一下name字段为主键唯一
然后在上方点击插入,插入一行数据

插入以后可以在浏览 中看到刚刚插入的数据

php文件的创建,php代码的编写

打开VScode(其他用来写网页的编译器都可以,不一定是vscode)
(这些编译器不用安装而且小,直接上网查资源下载即可使用)
点击文件然后打开文件夹,然后选择文件夹(随便新建一个文件夹即可)


然后新建一个text.php文件

在php写上 下面的代码

<?php //连接数据库$conn = new mysqli("localhost(这里写服务器IP本地可以是localhost)","数据库的用户名","数据库的密码","数据库名字");if($conn->connect_error){die("Could not connect to database");}//新建一个变量 用来获取网络请求传过来的参数$action = "read";//新建一个变量用来返回查询的数据$res = array('error' => false);//将网络请求传入过来的参数 赋值给$action变量if(isset($_GET['action'])){$action = $_GET['action'];}//读取查询数据 如果传入参数是readif($action == "read"){//返回的数据为utf8编码 防止中文乱码现象$conn->query("set names utf8");//sql语句 查询text表中的所有数据$result = $conn->query("SELECt * FROM `text`");//新建一个数组 接收数据$users = array();//遍历查询的结果 一行一行的遍历while($row = $result->fetch_assoc()){array_push($users,$row);}//将数据放在$res变量里面$res['uesrs'] = $users;}//插入数据 如果传入参数是createif($action == "create"){}//更新数据if($action == "update"){}//删除数据if($action == "delete"){}//关闭连接$conn->close();header("Content-type:application/json");//以json的格式返回查询到的数据echo json_encode($res);die();?>

其中里面连接数据库的参数可以在宝塔面板中找到

写完以后保存编辑

将写好的php文件放到服务器中特定的文件夹

我在创建站点的时候已经 提到了 站点的根目录就是 放php文件的路径
所以在宝塔面板中找到该路径上传刚刚写好的php文件即可
现在我们可以用浏览器测试一下php文件
打开浏览器输入
http://服务器IP地址/text.php?action=read
打开的页面为
可以看到成功显示刚刚查询的信息
此处name字段值不是我刚刚插入的中文小明而是\u5c0f\u660e 没关系,到时候放到小程序以后就会变回中文来

新建微信小程序项目,并测试接口

打开微信开发工具新建一个项目 不知道怎么安装开发工具的自行上网查上吧 b站也很多教程
下面包括了微信小程序代码的书写 不懂的可以上网查相关内容 先学习一下
我就简略的讲讲

新建一个页面 步骤如下:

点击app.json文件
在pages里面添加一行代码
在CTRL+s保存
如图

这里就会新建了一个页面

然后将新建的页面添加为启动页面
点击添加编译

启动页面设置为demo2

然后再 点击 详情 将本地设置下面的 不检验合法域名…HTTPS证书 勾选上

然后打开demo2里面的js文件 在打data中添加一个空的数组textdata 用来接收网络请求返回的数据(php文件的执行结果)
在onload函数中写上这段代码
(发起网络请求是可以传入参数的 代码中的 data:{ } 就表示传入的参数,php文件里面的代码有说明)

 wx.request({url: 'http://服务器的IP地址/text.php',data:{ action:"read"},success: result=>{console.log(result.data),this.setData({textdata:result.data.uesrs,})}})

如图

在浏览器测试php文件的时候我们已经发现如果传入的参数是action = read 那么将执行查询操作 返回查询的结果
如图是返回的结果

该结果也就是 微信小程序就收到的结果
它分为两个部分 我们要的是第二个部分
所以在小程序的代码里面我写的是

         success: result=>{console.log(result.data),this.setData({textdata:result.data.uesrs,})}

代码大概意思是
第一行:如果网络请求成功,那么将结果赋值给result
第二行:在调试器中输出 结果的数据
第三第四行:将结果 里面的 数据 里面的 名为uesrs 部分的数据(也就是第二部分)赋值给textdata变量(”: “的意思是赋值,”. “的意思是什么什么里面的什么什么,例如这里是 结果里面的数据 然后再数据里面的uesrs部分数据)

其实从上面第二行代码的解析可以知道 此时已经可以在 调式器中查看 获得的数据

再打开新建页面的wxml文件
添加下面代码

<view  wx:for="{{textdata}}"><text>{{item.Name}}</text><text>{{item.Password}}</text>
</view>

(发现了没name和password就是我们在数据库新建数据表的两个字段名)

点击编译以后结果如图

到这里就大功告成了
完全实现了 利用php接口获取服务器数据库数据 并显示再客户端上

微信小程序网络请求服务器php接口获取数据库数据信息相关推荐

  1. 微信小程序 解决请求服务器手机预览请求不到数据的方法

    微信小程序 解决请求服务器手机预览请求不到数据的方法 微信小程序的文档中明确说明了所有的请求是必须使用https的,以没用过https,由于小程序,不得不接触到https,研究了好长时间把tomcat ...

  2. 微信小程序访问云服务器,微信小程序访问云服务器ThinkPHP接口的HTTPS问题

    在上篇文章中我已经介绍了如何在云端服务器中搭建微信小程序可访问的ThinkPHP接口.https://www.jianshu.com/p/e7125b69bf14 在浏览器中输入:http://公网I ...

  3. 微信小程序 网络请求接口 及 生命周期

    前言:前期我们对微信小程序有些基本了解,像标签,样式,组件....等. 今天我们继前期进行继续的了解 一. 网络请求 HTTP(HyperText Transfer Protocol)是一套计算机通过 ...

  4. 苹果捷径 此服务器的证书无效,微信小程序 网络请求 此服务器的证书无效

    1.网络请求服务器API的时候报此服务器的证书无效. 2.代码如下var link = "http://www.lewenwu.com/books/38/38622/11482881.htm ...

  5. 5、微信小程序-网络请求和本地存储

    文章目录 前言 一.准备 二.网络请求 1.微信小程序请求网络的方法 2.发送网络请求 3.网络请求的封装 4.网络返回请求数据的处理 三.本地存储 前言 这节我们来看下在微信小程序中如何进行网络请求 ...

  6. 微信小程序网络请求异常怎么办_监控微信小程序wx.request请求失败

    在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...

  7. 微信小程序网络请求异常怎么办_解决·微信小程序开发-网络请求报Invalid request 400错误...

    今天学习了一下微信小程序的入门开发,在使用网络请求时,发现根据微信官方的API的方法进行操作出现Invalid request 400错误,到底怎么回事呢? 首先我们来看微信API网络请求 示例代码: ...

  8. 微信小程序网络请求配置问题及本地网络请求测试解决方案

    本文只针对服务器网站没有备案或只需要做本地网络接口请求 一.问题引入 在小程序demo.wxml中声明button控件,并设置点击事件,如下: <button bindtap='testSend ...

  9. 微信小程序网络请求 - 设置合法域名

    微信小程序设置网络请求 官方文档 为什么要设置合法域名呢 ? 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信.包括普通 HTTPS 请求(wx.request).上传文件(w ...

  10. 微信小程序 网络请求之设置合法域名

    设置域名 登录微信公众号后台小程序中 设置→开发设置→服务器设置 必须设置域名,微信小程序才能进行网络通讯,不然会报错 如果设置好了合法域名,开发工具还提示不在合法域名列表中,因为在微信会有一段时间的 ...

最新文章

  1. 戴着口罩如何进行人脸识别?快进来看看吧!
  2. jenkins使用Git为源码管理(windows master linux slave)
  3. 去除Word中插入的Visio对象的空白
  4. What should we do when meet a crash in android?
  5. ARM下的原子操作实现原理
  6. 织女的红线_JAVA
  7. 【NLP】TransformerXL:因为XL,所以更牛
  8. datepick二格式 化时间_考研经验分享(三)英语二作文模板
  9. python中strip是什么意思啊_Python中的strip()的理解
  10. Oracle创建pfile spfile 文件及其恢复
  11. Redis分布式锁如何提高可用性
  12. 图解Http读完有感
  13. python 列表操作详解,Python列表解析操作实例总结
  14. WaitForMultipleObjects函数有效值分析
  15. 使用PO+跨平台改造Macaca示例(APP端)
  16. arcgis的numpy模块_数据分析之numpy模块
  17. C语言指针类型 强制转换
  18. Codeforces Round #FF (Div. 2):Problem A - DZY Loves Hash
  19. HNUCM 1388:高中数学
  20. windows+Ubuntu双系统引导修复(终极版)

热门文章

  1. 【推荐】网络安全学习路线和资料分享
  2. 七夕情人节表白网页代码大全(浪漫的html表白源代码)
  3. 计算机网络被限速,电脑网速被限制怎么办
  4. 滚动截屏苹果_苹果超好用的长截图软件—滚动截屏免费分享!
  5. 如何正确下载安全无毒的局域网、内网即时通讯软件
  6. WorkPlus即时通讯软件,满足政企局域网办公需求
  7. Multitask Learning
  8. 【OpenCV】58 二值图像分析—寻找最大内接圆
  9. Android Studio开发记录
  10. 第一次天池大数据竞赛圆满落下帷幕