弄个小程序真是脑壳疼,好不容易把前端弄好,把服务器布置好,但是如何连接后台服务器和数据库实现数据交互呢?网上搜到的博客教程真是够乱的,对于我这种后端技术小白一点都不友好!我摸索的好几天,终于前端能读取到服务器的 mysql 数据库,所以来这记录下一些过程和坑,说不定能帮到无意看到这篇文章的朋友呢!

PHP后端代码

最开始是要能连接到服务器上 MySQL 数据库:(php文件要放在指定目录下,服务器布置测试的时候你应该知道在哪里,这里就不说了)

test.php文件
<?php   //$name=$_GET["name"];//接收参数 $hostname_conn = "localhost";    $database_conn = "xdq";//数据库名    $username_conn = "root";//用户名    $password_conn = "xxxxxx";//自己数据库的密码 //连接MYSQL数据库    $conn = mysqli_connect($hostname_conn, $username_conn, $password_conn,$database_conn)or trigger_error(mysqli_error(),E_USER_ERROR);  ?>

连接上后对数据的操作(先把数据库上的一个表 article 输出来看一下是否成功)

$sql = "SELECT *FROM article";  mysqli_query($conn, "set names 'utf8'");//不写这句有可能乱码 $result = mysqli_query($conn, $sql);   if (mysqli_num_rows($result) > 0) {      while($row = mysqli_fetch_assoc($result)) {            echo json_encode($row,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);//将请求结果转换为json格式,微信只能对
json格式的数据进行操作

}}

微信小程序这边

使用 wx.request 方法对自己的服务器发起网络连接请求,此方法写在 onLoad:function() 里面,当小程序启动时自动请求连接

index.js文件
onLoad: function (e) {var that = this;wx.request({url: 'https://www.xxxx.top/test.php',//此处填写你后台请求地址method: 'GET',header: {'Content-Type': 'application/json' },data: {},success: function (res) {// successconsole.log(res.data);//打印请求返回的结果        that.setData({ item_list: res.data})},fail: function (res) {// fail},complete: function (res) {// complete}})}

看一下结果已经出来了:

但是,同时报错了,这就是坑之所在啊

报错的地方在哪里呢?

在这里!!!

 that.setData({ item_list: res.data})

item_list 是我在 data 里面定义的一个数组,格式是这样的

item_list: [{article_title:"这里是标题,唉,好长啊啊啊",article_content: "这里是内容这里是内容这里是内容这里是内容这里是内容",author:"匿名哈哈哈哈",article_time: "2018/4/12 14:25:43",like_num:999,favor_img: "../../image/favor.png",show: false},{article_title: "这里是标题2",article_content: "这里是内容这里是内容这里是内里",author: "匿名",article_time: "2018-4-12 14:25:43",like_num: 0,favor_img: "../../image/favor.png",show: false},]

原来是因为从服务器返回结果还不是微信能读取json样式,必须要处理一下才能 setData (这可是我查了好多资料才知道的,尴尬!!)

那就在php后端修改为能微信能读取的数组,完整代码如下(背景深色为修改部分):

test.php
<?php   //$name=$_GET["name"];//接收参数 $hostname_conn = "localhost";    $database_conn = "xdq";//自己建数据库名 $username_conn = "root"; $password_conn = "xxxxxx";   //连接MYSQL数据库    $conn = mysqli_connect($hostname_conn, $username_conn, $password_conn,$database_conn)or trigger_error(mysqli_error(),E_USER_ERROR);    if(!$conn){             echo "连接不成功!";     }   $sql = "SELECT *FROM article";   mysqli_query($conn, "set names 'utf8'");    $result = mysqli_query($conn, $sql);   class Article{          public $article_title;      public $article_content;        public $article_time;       public $author;     public $like_num;       public $anouymous;      public $article_label;      }   $data = array();   if (mysqli_num_rows($result) > 0) {      while($row = mysqli_fetch_assoc($result)) {            $article=new Article();            $article->article_title=$row["article_title"];            $article->article_content=$row["article_content"];            $article->article_time=$row["article_time"];          $article->author=$row["author"];          $article->like_num=$row["like_num"];          $article->anouymous=$row["anouymous"];            $article->article_label=$row["article_label"];                        $data[] = $article;                        }           echo json_encode($data,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);//将请求结果转换为json格式           }  ?>

最后重启小程序,打印结果如下:

这才是微信能读取的数据!这时再去 setData 就可成功了。

整体来看,其实也不难,但是对一个小白来说无从下手,并且到处去查阅资料还找不到就是真的很烦了。

最后,我趟过的坑希望你们能顺利跳过!!!有错误请指正!

微信小程序之PHP后端服务器数据库的连接处理相关推荐

  1. PHP开发B2C商城 微信小程序商城系统源码+数据库,轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP

    项目介绍 一款轻量级.高性能.前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城. 完整代 ...

  2. 微信小程序云函数操作云数据库Mysql

    微信小程序云函数操作云数据库Mysql 参考一 参考二 云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写.一键上传部署即可运行后端代码. 小程序内提供了专门用于云函数调用的 API.开发 ...

  3. 微信小程序开发(后端Java)

    微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...

  4. 微信小程序开发与mysql_微信小程序云开发之云数据库入门

    微信小程序云开发之云数据库入门 介绍 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 其基础能力数据库,是一个JSON数据库,作用是无需自建数据库,就可以在微信小程序前 ...

  5. 微信小程序云开发之云数据库入门

    微信小程序云开发之云数据库入门 介绍 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 其基础能力数据库,是一个JSON数据库,作用是无需自建数据库,就可以在微信小程序前 ...

  6. 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)

    可以idea直接打开,mysql数据库项目,前后端分离项目vue,分期可自动设置,自动换算金额 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)

  7. 微信小程序开发—关于配置服务器域名

    微信小程序request请求的服务器域名必须得有SSL安全证书,也就是必须以https开头,这也是微信小程序为了信息安全着想. 如果是自己写后台程序,建议使用云服务器,我用的是百度云里面的bae,百度 ...

  8. 微信小程序向java后端发送对象时 ,后端接收不到

    微信小程序前端向后端发送对象接收不到 这里时请求头 这里时data中做的假数据 这是封装好的 post请求 后端的Controller代码 返回的结果 接收结果为null  但是可以接到可以用过 加@ ...

  9. 使用微信小程序云空间操作云数据库

    使用微信小程序云空间操作云数据库 在微信开发工具中有个云空间,想必大家在开发的过程中应该都已经看见了. 一番下一步下一步操作后我们就能够使用这个云空间了,这个时候就可以根据基础的控制面板进行功能上的选 ...

最新文章

  1. 矩阵专职_新的篇章开始了-我将以专职技术作家的身份加入RunCloud
  2. 学界 | 史上最强GAN图像生成器,Inception分数提高两倍
  3. HDLBits 系列(11)All about Adder
  4. 网络推广方法带你了解优质的网站结构对网站SEO有什么好处?
  5. 原码, 反码, 补码, 移码 详解
  6. excel vba 使用mschart_使用VBA时不妨借力Excel催化剂的能力,开发更加轻松便捷
  7. Spring Boot2.x-10 基于Spring Boot 2.1.2 + Mybatis 2.0.0实现多数据源,支持事务
  8. 一个百亿级日志系统是怎么设计出来的?
  9. Educational Codeforces Round 88 (Rated for Div. 2)(AB)
  10. (27)Verilog HDL循环语句:while
  11. 拼多多联合三奇医卫等企业,每天上架1000万只平价口罩
  12. 【正交幅度调制 QAM】
  13. python date2num_坚持mdates.date2num
  14. strcat第二个参数变吗_您能解决这3个(看似)简单的Python问题吗?
  15. 启动、停止和重新启动vcenter服务
  16. 大快DKM大数据基础管理平台的监控功能剖析
  17. ccf-csp认证历年真题(持续更新)
  18. 心情好些了,发现自己还是适合专注科研
  19. Linux 驱动 | SPI子系统
  20. Qt · 密码输入框检测并显示大写锁定键已打开

热门文章

  1. AcWing120防线 经典题二分+前缀和+等差数列
  2. 由DBeaver与PL/SQL引发的数据库吐槽
  3. MySQL数据库期末考试试题及参考答案(01)
  4. 有趣的编程(一)——海盗分金币问题如何编程求解
  5. 电子木鱼网页版(教学+源码带注释)
  6. 如何选择企业电脑加密软件,知道这几点一定不后悔!
  7. 自动化提升系列:在白色背景上拍摄白色产品
  8. 怎么添加扫描仪到计算机快捷键,Win7系统扫描仪添加方法
  9. R+ECharts2Shiny实现web动态交互式可视化数据(中)
  10. CSGO DIY-小地图修改