mysqlitest.php

<?php
//调用数据库的函数
function connetionsql(){
$conn=mysqli_connect("127.0.0.1",'root','','user');
if (!$conn) {
die("连接失败".mysqli_error());
}
mysqli_set_charset($conn,"utf8");
$sql="select * from user1";
$res=mysqli_query($conn,$sql);
// mysqli_affected_rows()返回前一次 MySQL 操作所影响的记录行数。
// $row=mysqli_affected_rows($conn);
// mysqli_num_fields() 返回结果集中字段的数量。
$col=mysqli_num_fields($res);
echo "<table border='1'><tr>";
// 取出字段名作为表名
for ($i=0; $i <$col ; $i++) {
// mysqli_fetch_field_direct() 从结果集中取得某个单一字段的 meta-data,并作为对象返回。
$file_name=mysqli_fetch_field_direct($res,$i);
// echo $file_name->name;
echo "<th>$file_name->name</th>";
}
echo "</tr>";
// mysqli_fetch_row() 从结果集中取得一行,并作为枚举数组返回。
while ($row=mysqli_fetch_row($res)) {
echo "<tr>";
for ($i=0; $i <$col ; $i++) {
echo "<td>$row[$i]</td>";
}
echo "</tr>";
}
echo "</table>";
}
connetionsql();
?>

实现结果:

解析后的html源码:

<table border='1'>
<tr>
<th>id</th><th>name</th><th>password</th><th>email</th><th>age</th>
</tr>
<tr>
<td>4</td><td>huahua</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>huahua@qq.com</td><td>16</td>
</tr>
<tr>
<td>32</td><td>haha</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>test@qq.com</td><td>16</td>
</tr>
<tr>
<td>28</td><td>test</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>test@qq.com</td><td>16</td>
</tr>
<tr>
<td>31</td><td>嘿嘿</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>test@qq.com</td><td>16</td>
</tr>
</table>

下面是在过程中熟悉的mysqli函数:

mysqli_fetch_fields()

        // mysqli_fetch_fields()    返回结果中代表字段的对象的数组。
$field_info=mysqli_fetch_fields($res);
var_dump($field_info);
//返回的是一个二位数组,如下:
// array(5) {
// [0]=> object(stdClass)#3 (13)
// { ["name"]=> string(2) "id"
// ["orgname"]=> string(2) "id"
// ["table"]=> string(5) "user1"
// ["orgtable"]=> string(5) "user1"
// ["def"]=> string(0) ""
// ["db"]=> string(4) "user"
// ["catalog"]=> string(3) "def"
// ["max_length"]=> int(2)
// ["length"]=> int(11)
// ["charsetnr"]=> int(63)
// ["flags"]=> int(49667)
// ["type"]=> int(3)
// ["decimals"]=> int(0)
// }
foreach ($field_info as $key =>$value) {
// echo "<br/>".$val->name;
echo "<br/>.-----";
echo $key;
echo "=========";
echo $value->name;
}

结果:

//数字为下标
.-----0=========id
.-----1=========name
.-----2=========password
.-----3=========email
.-----4=========age

mysqli_fetch_field()

        // mysqli_fetch_field() 函数从结果集中取得下一字段(列),并作为对象返回。
while ($field_info=mysqli_fetch_field($res)) {
echo "<br/>".$field_info->name;
}

结果:

id
name
password
email
age

【二十一】基于mysqli的表格数据练习的更多相关文章

  1. 基于bootstrap的表格数据展示

    一.导入bootstrap文件 二.前端html代码 对应的是前台条件查询和js数据获取 js数据获取部分在第四段 三.后台数据 total为集合总数  int类型 rows为前台需要展示的数据集合 ...

  2. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  3. 学习Spring Boot:(二十一)使用 EhCache 实现数据缓存

    前言 当多次查询数据库影响到系统性能的时候,可以考虑使用缓存,来解决数据访问新能的问题. SpringBoot 已经为我们提供了自动配置多个 CacheManager 的实现,只要去实现使用它就可以了 ...

  4. 用Vue来实现音乐播放器(二十一):歌手详情数据抓取

    第一步:在api文件夹下的singer.js中抛出getSingerDetail方法 第二步:在singer-detail.vue组件中引入api文件夹下的singer.js和config.js 第三 ...

  5. 云计算设计模式(二十一)——Sharding分片模式

    云计算设计模式(二十一)——Sharding分片模式 将一个数据存储到一组水平分区或碎片.存储和访问大量数据时,这个模式可以提高可扩展性. 背景和问题 由一个单一的服务器托管的数据存储区可能会受到以下 ...

  6. 获取表格数据转换为JSON字符串

    核心代码JavaScript代码: 方法一 function sc () { var myTable=document.getElementById("myTable"); //获 ...

  7. 二十一、contextMap中放的常用数据

    二十一.contextMap中放的常用数据 request:请求范围的数据.即ServletRequest中的那个Map parameters:请求参数的数据.即request.getParamete ...

  8. 从壹开始微服务 [ DDD ] 之十一 ║ 基于源码分析,命令分发的过程(二)

    缘起 哈喽小伙伴周三好,老张又来啦,DDD领域驱动设计的第二个D也快说完了,下一个系列我也在考虑之中,是 Id4 还是 Dockers 还没有想好,甚至昨天我还想,下一步是不是可以写一个简单的Angu ...

  9. FreeSql (二十一)查询返回数据

    FreeSql 采用 ExpressionTree 优化读取速读,如果懂技术的你一定知道 .NETCore 技术下除了原生代码,最快就是 Emit 和 ExpressionTree. 项目在初期使用的 ...

随机推荐

  1. C语言基本用算

    一. 算术运算 C语言一共有34种运算符,包括了常见的加减乘除运算 1. 加法运算+ 除开能做加法运算,还能表示正号:+5.+90 2. 减法运算-  除开能做减法运算,还能表示符号:-10.-29 ...

  2. Hive详解

    1.   Hive基本概念 1.1  Hive简介 1.1.1 什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.1 ...

  3. Apache服务器配置

    之前做代码一直按照传统化的方法部署别人的网站,但是一直不成功,尝试了很多次最后才发现时虚拟主机的问题 使用apache默认为127.0.0.1和网站的配置发生冲突. 因此在apache的conf文件夹 ...

  4. js中对节点属性的操作和对节点的操作

    常用的节点属性操作方法 1.setAttribute(name,value):给某个节点添加一个属性 2.getAttribute(name):获取某个节点属性的值. 3.removeAttribut ...

  5. ChatterBot之linux下安装mongodb 02

    当前环境 :centos 6.9 mongodb版本 mongodb-linux-x86_64-3.4.4.tgz 使用链接工具:studio-3t-x64.msi.zip 首先我们先来安装mongo ...

  6. POJ3624--01背包

    Charm Bracelet Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 34013   Accepted: 15087 ...

  7. 【下一代核心技术DevOps】:(一)容器服务的Rancher选型

    为什么说是下一代核心技术 其实经过互联网的多次变革说起,早期的C/S架构,到后来的B/S架构,一直到现在最普遍的M/S架构,他们的背后都是技术不断的优化改进,以适应促进IT技术的发展 整体而言在过去1 ...

  8. Hbuilder app开发,使用mui.ajax和服务器交互,后台获取不到值,显示null的解决方法

    先上一个能用的js代码: function login() { var uname=document.getElementById("username").value.trim() ...

  9. Spring Cloud Zuul

    新建Spring Boot工程,命名为zuul 1.pom.xml添加依赖 <?xml version="1.0" encoding="UTF-8"?&g ...

  10. 10.0.0.55_12-16训练赛部分writeup

    0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...