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

article/2025/10/23 4:47:11

      弄个小程序真是脑壳疼,好不容易把前端弄好,把服务器布置好,但是如何连接后台服务器和数据库实现数据交互呢?网上搜到的博客教程真是够乱的,对于我这种后端技术小白一点都不友好!我摸索的好几天,终于前端能读取到服务器的 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 就可成功了。

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

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


http://chatgpt.dhexx.cn/article/vLeLkX6n.shtml

相关文章

《微信小程序》微信小程序用java后台连接数据库进行操作。

微信小程序与Java后台的通信 一、写在前面 最近接触了小程序的开发&#xff0c;后端选择Java&#xff0c;因为小程序的代码运行在腾讯的服务器上&#xff0c;而我们自己编写的Java代码运行在我们自己部署的服务器上&#xff0c;所以一开始不是很明白小程序如何与后台进行通信…

小程序连接数据库

一、配置mysql 数据库连接参数 打开 server下面的config.js user  默认都是 root db   为连接是数据库名 pass  默认为小程序APPID 注意这里有个坑&#xff1a;host开发环境下要填localhost&#xff0c;不要填分配给你的域名&#xff0c;我就手贱的修改了这里&#xff…

微信小程序通过 node 连接 mysql——方法,简要原理,及一些常见问题

前言 博主自己在22年夏天根据课程要求做了一个小程序连接阿里云服务器的案例&#xff0c;在最近又碰到了相应的需求。 原参考文章&#xff1a;微信小程序 Node连接本地MYSQL_微信小程序nodejs连接数据库_JJJenny0607的博客-CSDN博客 ,还请多多支持原作者&#xff01; 第二次…

php脚本连接mysql,微信小程序连接数据库。

最近我在做一个微信小程序&#xff0c;其中有一个页面&#xff0c;页面里面需要连接我的后台数据库&#xff0c;把用户数据传递到我的MySQL数据库中。 最初&#xff0c;我在网上找了很多东西&#xff0c;发现并没有一个特别详细明确的教程&#xff0c;其中大多数都只是把他的代…

matlab画图标签,Matlab绘图

要使用plot函数来绘制图形,需要执行以下步骤: 通过指定要绘制函数的变量x的值的范围来定义x。 定义函数,y = f(x) 调用plot命令,如下:plot(x,y) 以下示例将演示该概念。下面绘制x的值范围是从0到100,使用简单函数y = x,增量值为5。 创建脚本文件并键入以下代码 - x = […

MATLAB入门与作图

MATLAB 一、变量与函数 1、变量 &#xff08;1&#xff09;变量名区分大小写 &#xff08;2&#xff09;变量名必须以字母开头&#xff0c;之后可以是任意字母、数字或下划线&#xff0c;不允许使用标点符号。 2、特殊变量 ​ pi 圆周率 3、标点符号 ​ 1、每条命令&am…

JAVA实现聊天室(局域网)

JAVA用局域网实现聊天室 类和接口 Server类&#xff08;服务器端&#xff09; package Test;import java.io.IOException; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket;public class Server {private static final int SERVER_PORT30…

Java在线聊天室课程设计(嘉然UI界面)

文章目录 一、前言 &#x1f606;二、效果展示图 &#x1f9d0;1、服务器界面2、客户端登录界面3、聊天界面 三、客户端Client &#x1f642;1、LoginFrame类2、ClientHandler类3、ChatFrame类 四、服务器端Server &#x1f643;1、ServerFrame类2、ServerInfoPanel类3、Online…

java聊天室源代码(练习项目)

聊天室界面如下&#xff1a; 聊天室源代码链接 一、服务端&#xff1a; 窗体&#xff1a; package sonyi.server;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import jav…

Java—简易聊天室

Java—聊天室的实现 在学习了IO流&#xff0c;多线程以及网络编程的知识之后&#xff0c;我们可以利用所学到的知识做一个小项目&#xff0c;这里我做了一个多人聊天室&#xff0c;实现了群聊和私聊功能&#xff0c;看完分享之后也可以自己去做一个练练手。 首先是整个项目的…

java聊天室(实训项目)

这里是我们实训的一个关于java聊天室的项目&#xff0c;有需要的同学可以看看&#xff0c;私聊功能未完善。 话不多说&#xff0c;直接上代码。 服务器&#xff1a; package ChatRoom;import java.awt.Color; import java.awt.Component; import java.awt.EventQueue; impor…

Java实现简易聊天室

Java实现简易聊天室 在学习《Java从入门到精通》这本书&#xff0c;网络通信&#xff0c;基于TCP实现的简易聊天室&#xff0c;我这里对书中的代码略做了修改&#xff0c;做个记录。 这里先放一下运行效果图&#xff0c;代码放在最后。 运行效果&#xff1a; 先启动服务器端&am…

javaWeb实现聊天室(私聊+群聊)

写在前面 近几天&#xff0c;迎来了第一个小项目&#xff0c;不做不知道&#xff0c;一做吓一跳。好多知识都掌握的不够扎实&#xff0c;看似会了&#xff0c;但其实似懂非懂&#xff0c;不能真正掌握原理&#xff0c;导致使用起来错误百出。而且深深体会到&#xff0c;知识只有…

java实现聊天室(GUI界面+私聊+群聊)

登录界面的用户名和端口号不能重复&#xff01; 登录界面的用户名和端口号不能重复&#xff01; 登录界面的用户名和端口号不能重复&#xff01; java的socket编写的聊天室&#xff0c;GUI的界面&#xff0c;可以私聊和群聊&#xff0c; 聊天信息保存为txt 有需要的可以自行下…

用Java代码实现一个简单的聊天室功能

一.客户端的创建 1.我们可以用Socket来创建客户端 /***类名 Client*描述 TODO 客户端 1*版本 1.0*创建人 XuKang*创建时间 2020/9/24 16:18**/ public class Client {public static void main(String[] args) throws UnknownHostException, IOException {System.out.println(…

Java在线聊天室(客户端+服务器)

Java在线聊天室&#xff08;客户端服务器&#xff09;基于webSocket实现模拟在线聊天系统 运行环境&#xff1a; JDK1.8version 开发环境&#xff1a;Eclipse 一、结构 以下是系统主要结构&#xff1a; 1.用户&#xff08;均实现部分可能会有bug&#xff09; &#xff08;…

apiDay09整理笔记(笔记优化)

目录 1.聊天室&#xff08;续&#xff09; &#xff08;1&#xff09;实现服务端发送消息给客户端 &#xff08;2&#xff09;服务端转发消息给所有客户端 &#xff08;3&#xff09;客户端解决收发消息的冲突问题 &#xff08;4&#xff09;服务端完成处理客户端断开连接…

JAVA简单聊天室的实现

目录 界面效果图 一、聊天室功能介绍&#xff1f; 二、功能代码 1.服务端 2.客户端 界面效果图 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、聊天室功能介绍&#xff1f; 1. 、对于聊天室就是处理多个客户端发送的请求与信息&#xff0c;从…

Java网络聊天室---个人博客

Java网络聊天室 ———个人博客 一、项目简介 功能描述&#xff1a; 使用图形用户界面和socket通信&#xff0c;能实现一个聊天室中多人聊天&#xff0c;可以两人私聊&#xff0c;可以发送文件。 实现类似QQ用户注册、登录、聊天等功能。 参考git地址或博客地址&#xff1a…

Java实现ChatRoom

基于连接通信Socket、多线程的Java聊天室 1、开发环境&#xff1a; IDEA2018.1JDK1.8 2、实现功能&#xff1a; 实现了模拟登录注册、群聊、私聊、显示当前在线人数列表&#xff1b; 在发送信息时&#xff0c;会向对方发送者及显示发送时间&#xff1b; 显示在线人数列表…