加入收藏 | 设为首页 | 会员中心 | 我要投稿 均轻资讯网_我爱站长网 (https://www.52junqing.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现获取MySQL数据库的记录数据

发布时间:2022-10-08 14:59:38 所属栏目:PHP教程 来源:
导读:  PHP实现获取MySQL数据库的记录数据

  更新时间:2022年02月26日 10:33:00 作者:dawn

  如果后台数据处理使用PHP来进行,那么就要有相应的数据处理及返回。最常用的就是获取记录总数和表记录查询结果
  PHP实现获取MySQL数据库的记录数据
 
  更新时间:2022年02月26日 10:33:00 作者:dawn
 
  如果后台数据处理使用PHP来进行,那么就要有相应的数据处理及返回。最常用的就是获取记录总数和表记录查询结果。本文将为大家介绍如何利用PHP实现获取MySQL数据库的记录数据,需要的可以参考一下
 
  目录
 
  如果后台数据处理使用PHP来进行,那么就要有相应的数据处理及返回。
 
  最常用的就是获取记录总数和表记录查询结果。
 
  获取数据表的记录总数
 
  query($sql);//以索引的方式返回一个结果集
  list($rowCount)=$result->fetch_row();
  echo '记录总数:'.$rowCount;
  $result->close();
  $mysqli->close();
  ?>
  也可以这样来获取:
 
  query($sql);//以索引的方式返回一个结果集
  $row = $result->fetch_row();
  echo '记录总数:'.$row[0];
  $result->close();
  $mysqli->close();
  ?>
  另外的形式:($row['total'] 换成 $row[0] 也可以)
 
  query($sql);//以索引的方式返回一个结果集
  $row = $result->fetch_array(MYSQLI_BOTH);
  echo '记录总数:'.$row['total'];
  $result->close();
  $mysqli->close();
  ?>
  查阅了PHP操作手册,类似的功能函数实在是太多了,这意味着同样的需求PHP有很多的处理手段。
 
  获取数据库查询表的记录并返回JSON格式
 
  query($sql);//执行查询
  $result = array();//准备一个空数组
  while ($row = $res->fetch_assoc()){
      //对结果集进行逐行取值并压入到数组中
      array_push($result,$row);
  }
  echo json_encode($result);//返回前端JSON格式数据
  ?>
  返回的数据:
 
  [
    {
      "C01": "00924001",
      "C02": "经理办01",
      "C03": "1",
      "C04": "普通用户",
      "C05": "1"
    },
    {
      "C01": "00924002",
      "C02": "经理办02",
      "C03": "2",
      "C04": "普通用户",
      "C05": "1"
    },
    {
      "C01": "00923128",
      "C02": "人事科01",
      "C03": "1",
      "C04": "普通用户",
      "C05": "人事科的张小勇"
    }
  ]
  获取数据表分页记录数据并返回JSON格式 ( 以LayUI的分页数据为例 )
 
  query($sql1);
  $rowCount = $result1->fetch_row();
   
  $returnArr['code']=0;
  $returnArr['msg']="";
  $returnArr['count']=$rowCount[0];//总记录数
   
  $sql2 = "select * from druserlist order by C01 limit $offset,$limit";
  $res = $mysqli->query($sql2);
  $result = array();
  while ($row = $res->fetch_assoc()){
      array_push($result,$row);
  }
  $returnArr['data']=$result;
  echo json_encode($returnArr);//返回JSON格式数据
  $res->free();
  $mysqli->close();
  ?>
  返回的数据:
 
  {
    "code": 0,
    "msg": "",
    "count": "12",
    "data": [
      {
        "C01": "00101078",
        "C02": "HaoR",
        "C03": "2",
        "C04": "管理员",
        "C05": "1"
      },
      {
        "C01": "00323007",
        "C02": "研究中心01",
        "C03": "1",
        "C04": "管理员",
        "C05": "1"
      },
      {
        "C01": "00616001",
        "C02": "财务科01",
        "C03": "1",
        "C04": "管理员",
        "C05": "1"
      },
      {
        "C01": "00616002",
        "C02": "财务科02",
        "C03": "1",
        "C04": "管理员",
        "C05": "1"
      },
      {
        "C01": "00616003",
        "C02": "财务科03",
        "C03": "1",
        "C04": "管理员",
        "C05": "1"
      },
      {
        "C01": "00923127",
        "C02": "admin",
        "C03": "1",
        "C04": "管理员",
        "C05": "系统管理员"
      },
      {
        "C01": "00923128",
        "C02": "人事科01",
        "C03": "1",
        "C04": "普通用户",
        "C05": "人事科的张小勇"
      },
      {
        "C01": "00923129",
        "C02": "人事科02",
        "C03": "1",
        "C04": "管理员",
        "C05": "1"
      }
    ]
  }
  可以根据前端的分页要求返回不同的数据样式,知道了PHP的处理后面的就好办了。
 
  PHP对mysql数据库查询结果集的处理。
 
  ⑴fetch_array()
 
  query($sql);//以索引的方式返回一个结果集
  while($row = $result->fetch_array()){
      $rows[] = $row;
  }
  foreach($rows as $row){
      echo $row['C01'].'  '.$row['C02'].'
  ';
  }
  $result->close();
  $mysqli->close();
  ?>
  逐行返回的结果:
 
  00924001 经理办01
 
  00924002 经理办02
 
  00923128 人事科01
 
  返回JSON格式:
 
  query($sql);//以索引的方式返回一个结果集
  while($row = $result->fetch_array()){
      $rows[] = $row;
  }
  echo json_encode($rows);//返回JSON格式数据
  $result->close();
  $mysqli->close();
  ?>
  返回的结果:
 
  [
    {
      "0": "00924001",
      "1": "经理办01",
      "C01": "00924001",
      "C02": "经理办01"
    },
    {
      "0": "00924002",
      "1": "经理办02",
      "C01": "00924002",
      "C02": "经理办02"
    },
    {
      "0": "00923128",
      "1": "人事科01",
      "C01": "00923128",
      "C02": "人事科01"
    }
  ]
  从上面的输出可以看出输出分别是数字和字段名的样式,查PHP操作手册知道,可以给定fetch_array()函数的参数来取记录值,也就是下面三种输出都是一样的。
 
  query($sql);//以索引的方式返回一个结果集
  //第一种输出
  while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
      echo $row[0].'  '.$row[1].'
  ';
  }
  //第二种输出
  while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
      echo $row['C01'].'  '.$row['C02'].'
  ';
  }
  //第三种输出
  while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
      echo $row[0].'  '.$row['C02'].'
  ';
  }
  $result->close();
  $mysqli->close();
  ?>
  三种输出都是下面的结果:
 
  00924001 经理办01
 
  00924002 经理办02
 
  00923128 人事科01
 
  ⑵fetch_row()
 
  上面的输出可以使用下面的方法来进行:
 
  query($sql);//以索引的方式返回一个结果集
  while ($row = $result->fetch_row()) {
      printf ("%s %s
  ", $row[0], $row[1]);
  }
  $result->close();
  $mysqli->close();
  ?>
  ⑶fetch_assoc()
 
  上面的输出可以使用下面的方法来进行:
 
  query($sql);//以索引的方式返回一个结果集
  while ($row = $result->fetch_assoc()) {
      printf ("%s %s
  ", $row["C01"], $row["C02"]);
  }
  $result->close();
  $mysqli->close();
  ?>
  ⑷fetch_all()
 
  与fetch_array类似,也有参数选择PHP数据库,即:MYSQLI_ASSOC、MYSQLI_NUM或者MYSQLI_BOTH,缺省是MYSQLI_BOTH。
 
  query($sql);//以索引的方式返回一个结果集
  $rows=$result->fetch_all(MYSQLI_NUM);
  $r=0;
  while ( $r < mysqli_num_rows($result) ) {
      printf ("%s %s
  ", $rows[$r][0], $rows[$r][1]);
      $r++;
  }
  $result->close();
  $mysqli->close();
  ?>
  query($sql);//以索引的方式返回一个结果集
  $rows=$result->fetch_all(MYSQLI_ASSOC);
  $r=0;
  while ( $r < mysqli_num_rows($result) ) {
      printf ("%s %s
  ", $rows[$r]['C01'], $rows[$r]['C02']);
      $r++;
  }
  $result->close();
  $mysqli->close();
  ?>
  query($sql);//以索引的方式返回一个结果集
  $rows=$result->fetch_all(MYSQLI_BOTH);
  $r=0;
  while ( $r < mysqli_num_rows($result) ) {
      printf ("%s %s
  ", $rows[$r][0], $rows[$r]['C02']);
      $r++;
  }
  $result->close();
  $mysqli->close();
  ?>
  上面三段代码输出都是一样的。
 

(编辑:均轻资讯网_我爱站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!