php get接口,并在浏览器中以json格式返回查找到的数据
php查询数据有6个步骤,分别为:
- 连接数据库服务器,使用的命令为:mysql_connect("服务器名称","用户名","密码")
- 选择数据库,使用的命令为:mysql_select_db("数据库的名称[可选的资源号,也就是第一步的变量名 $conn]")
- 执行sgl语句,使用的命令为:mysql_query(sql语句);
- 获取执行结果,并把获取到的数据存放在一个数组中,使用的命令为:mysql_fetch_array(),会返回多行,因此要使用while循环
- 关闭数据连接,使用的命令为:mysql_close(连接服务器的变量)
- 将结果转换为JSON格式,并输出到客户端,使用的命令为:json_encode(第4步中定义的数组变量)

代码分析:
<?php
//php接口的写法,php访问mysql数据库的基本步骤,获取用户 //1 连接数据库服务器: mysql_connect("服务器名称","用户名","密码");or die("前面语句执行不成功后返回的信息".mysql_error());
//.mysql_error() 这个函数的意思是什么原因导致前面的sql语句执行失败 $conn = mysql_connect("localhost","root","root") or die("connect fieled!".mysql_error()); //防止中文乱码
mysql_query("SET NAMES UTF8"); //2 选择数据库: mysql_select_db("数据库的名称[可选的资源号,也就是第一步的变量名 $conn]"),返回值为true / false $select = mysql_select_db("test",$conn) or die("select db failed!".mysql_errno()); //3 执行sql语句:mysql_query 可以在php中执行sql语句,先在数据库中执行这个语句,看是否能查出数据来 $sql = "select * from t_user"; //从表t_user中选择
$result = mysql_query($sql); //4 获取执行结果: mysql_fetch_array(),会返回多行,因此要使用while循环,把返回的$result这个数组,按每次读一行显示
$array = array(); //自定义一个数组,存放数据
$i = 0; //初始数据为 0
while ($row = mysql_fetch_array($result)){
//从返回到$row中所有的数据中取出需要的字段,并把它储存在数组$array中
$array[$i]["user_id"] = $row["user_id"];
$array[$i]["user_phone"] = $row["user_phone"];
$array[$i]["user_name"] = $row["user_name"];
//所有的数据都累加显示
$i ++;
} //5 关闭数据库连接:mysql_close(连接到数据库的变量)
mysql_close($conn); //6 将结果转换为JSON输出到客户端
$json = json_encode(
//array()是组织要显示的数据结构
array(
"resultCode"=>200,
"message"=>"success",
"data"=>$array
)
); //转换为JSON
echo ($json); //显示在客户端
?>
总结:
<?php
$conn = mysql_connect("localhost","root","root") or die("connect fieled!".mysql_error());
//防止中文乱码
mysql_query("SET NAMES UTF8"); $select = mysql_select_db("test",$conn) or die("select db failed!".mysql_errno()); $sql = "select * from t_user"; //从表t_user中选择
$result = mysql_query($sql); $array = array(); //自定义一个数组,存放数据
$i = 0; //初始数据为 0
while ($row = mysql_fetch_array($result)){
//从返回到$row中所有的数据中取出需要的字段,并把它储存在数组$array中
$array[$i]["user_id"] = $row["user_id"];
$array[$i]["user_phone"] = $row["user_phone"];
$array[$i]["user_name"] = $row["user_name"];
//所有的数据都累加显示
$i ++;
} mysql_close($conn); $json = json_encode(
//array()是组织要显示的数据结构
array(
"resultCode"=>200,
"message"=>"success",
"data"=>$array
)
); //转换为JSON
echo ($json); //显示在客户端
?>
得写个函数。
新手一枚,如果有更好的方法,欢迎交流。
php get接口,并在浏览器中以json格式返回查找到的数据的更多相关文章
- 如何解决jersey框架中以json格式返回数组,当数组中元素一个时json格式不对
原文地址:http://www.cnblogs.com/swpk/p/3566536.html?utm_source=tuicool jersey 是oracle 出的一个较好的REST框架.使用此框 ...
- JSON(五)——同步请求中使用JSON格式字符串进行交互(不太常见的用法)
在同步请求中使用JSON格式进行数据交互的场景并不多,同步请求是浏览器直接与服务器进行数据交互的大多是用jsp的标签jstl和el表达式对请求中的数据进行数据的渲染.我也是在一次开发中要从其它服务器提 ...
- 在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...
- 在PHP代码中处理JSON 格式的字符串的两种方法:
总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...
- Ajax中的JSON格式与php传输过程的浅析
在Ajax中的JSON格式与php传输过程中有哪些要注意的小地方呢? 先来看一下简单通用的JSON与php传输数据的代码 HTML文件: <input type="button&quo ...
- JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson
java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...
- Sublime Text3 实现在浏览器中以HTML格式预览md文件
1.首先找到Package Control 打开Sublime Text3,找到菜单栏:Preferences → Package Control,没有找到Package Control,那么点击Pa ...
- javascript解决在safari浏览器中使用history.back()返回上一页后页面不会刷新的问题
我们知道,在JavaScript中提供了一个window.history.back()方法用于返回上一页,另外也可以使用window.history.go(-1)返回上一页(跳转). 在其他的主流浏览 ...
- JavaScript中,JSON格式的字符串与JSON格式的对象相互转化
前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...
随机推荐
- spring-boot-starter大力出奇迹
一.前言 上篇文章我们已经聊了SpringBoot的启动过程中的各类扩展点,那么从http://start.spring.io上我们生成的demo项目中,到目前就剩下了maven工程的pom.xm ...
- mysql 下 计算 两点 经纬度 之间的距离(转)
公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2* ...
- Mybatis学习(一)—————mybatis入门
学习了hibernate这个持久层框架之后,在来学习Mybatis简直是无压力,因为Mybatis入门门栏很低,如果学习过了hibernate的话,对于Mybatis的学习很简单了,如果没学习过hib ...
- MySQL高可用之组复制技术(3):配置多主模型的组复制
MySQL组复制系列文章: MySQL组复制大纲 MySQL组复制(1):组复制技术简介 MySQL组复制(2):配置单主模型的组复制 MySQL组复制(3):配置多主模型的组复制 MySQL组复制( ...
- 基于SpringMVC+Spring+MyBatis实现秒杀系统【客户端交互】
前言 该篇主要实现客户端和服务的交互.在第一篇概况里我已经贴出了业务场景的交互图片. 客户端交互主要放在seckill.js里来实现.页面展现基于jsp+jstl来实现. 准备工作 1.配置web.x ...
- HttpClient+Jsoup模拟登陆贺州学院教务系统,获取学生个人信息
前言 注:可能学校的教务系统已经做了升级,当前的程序不知道还能不能成功获取信息,加上已经毕业,我的账户已经被注销,试不了,在这里做下思路跟过程的记录. 在我的毕业设计中”基于SSM框架贺州学院校园二手 ...
- Docker在Linux上运行NetCore系列(四)使用私有Nuget与多个本地包引用运行ASPNetCore
转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章演示了使用Dockerfile在Linux(ubuntu16.04)系统上构建ASPNetCore应用,并且在一个解决方案中存在多个项目之间 ...
- [转]centos7指定yum安装软件路径
本文转自:https://www.cnblogs.com/pyyu/p/9814062.html 网上的命令都是垃圾 yum -c /etc/yum.conf --installroot=/opt/a ...
- [android] xml文件的序列化
生成xml文件,模拟备份短信,创建短信的业务bean,创建一个domain的包放业务bean,这个业务bean里面,定义成员属性,生成get set方法,生成有参和无参的构造方法. 生成随机数,实例化 ...
- 【Java】Properties文件的解析
public abstract class ReadProperties { public ReadProperties() {} /** * 回调函数,由调用者处理 * @param key * @ ...