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字符串”这个说法 ...
随机推荐
-
相克军_Oracle体系_随堂笔记013-字符集
linux环境下: [root@single ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" …… windows环境下: C ...
-
C++ Low level performance optimize
C++ Low level performance optimize 1. May I have 1 bit ? 下面两段代码,哪一个占用空间更少,那个速度更快?思考10秒再继续往下看:) //v1 ...
-
目前用到最全的datagrid(easyui)
包含checkbox.复合表头.多行可编辑单元格.combobox单元格,就差上次做的table中每行中的关联检索combobox单元格了.目前已修改为单行编辑,多行编辑时的check有问题 $(&q ...
-
ECharts SSH+JQueryAjax+Json+JSP在数据库中的数据来填充ECharts在
1导入包.设定SSH框架. 进口JQuery的JS包.<script src="JS/jquery-1.7.1.js"></script> 导入EChart ...
-
[poj3565]Ants
[poj3565]Ants 标签(空格分隔):二分图 描述 Young naturalist Bill studies ants in school. His ants feed on plant-l ...
-
plsql可视化文件夹解释
function:一般是存储函数或者方法 procedures:一般是存放存储过程 Table:一般是存放建的表 packages:包(头) package bodies:包体types:类型 typ ...
-
LoRa---射频信号接收框架简图介绍
LoRa整体框架图如下: 内容下次再填! 内容补上: 射频信号的接收流程(小博并非专业,错了emmmmm轻喷):射频--->中频--->基带,下面按照图中标的序号开始介绍: 1.天线接受射 ...
-
SVN版本服务器搭建
windows: https://blog.csdn.net/lu1024188315/article/details/74082227 SVN 的下载地址如下 http://torto ...
-
CentOS学习之常用命令ls
命令格式与目录处理命令ls 命令格式: 命令[-选项][参数] 例如: ls -la /etc 说明: 1)个别命令使用不遵循此格式 2)当多个选项时,可以写在一起 3)简化选项与完整选项 -a ...
-
@Redis Desktop Manager无法连接虚拟机中启动的redis服务问题解决
Redis Desktop Manager下载地址 https://redisdesktop.com/download 安装好以后连接linux服务器上的Redis服务器错误: 问题排查: 1.检查R ...