Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mendapatkan data rekod daripada pangkalan data MySQL dalam PHP

Bagaimana untuk mendapatkan data rekod daripada pangkalan data MySQL dalam PHP

WBOY
WBOYke hadapan
2023-05-26 20:52:211100semak imbas

Dapatkan jumlah bilangan rekod dalam jadual data

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select count(*) from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result = $mysqli->query($sql);//以索引的方式返回一个结果集
list($rowCount)=$result->fetch_row();
echo &#39;记录总数:&#39;.$rowCount;
$result->close();
$mysqli->close();
?>

Ia juga boleh diperolehi seperti ini:

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select count(*) from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result = $mysqli->query($sql);//以索引的方式返回一个结果集
$row = $result->fetch_row();
echo &#39;记录总数:&#39;.$row[0];
$result->close();
$mysqli->close();
?>

Borang lain: ($row['total '] digantikan dengan $ row[0] juga boleh digunakan)

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select count(*) as total from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result = $mysqli->query($sql);//以索引的方式返回一个结果集
$row = $result->fetch_array(MYSQLI_BOTH);
echo &#39;记录总数:&#39;.$row[&#39;total&#39;];
$result->close();
$mysqli->close();
?>

Selepas berunding dengan manual operasi PHP, terdapat terlalu banyak fungsi serupa, yang bermaksud PHP mempunyai banyak kaedah pemprosesan untuk keperluan yang sama.

Dapatkan rekod jadual pertanyaan pangkalan data dan kembalikannya dalam format JSON

<?php
$sql = "select * from druserlist";//查询语句
$res = $mysqli->query($sql);//执行查询
$result = array();//准备一个空数组
while ($row = $res->fetch_assoc()){
    //对结果集进行逐行取值并压入到数组中
    array_push($result,$row);
}
echo json_encode($result);//返回前端JSON格式数据
?>

Data yang dikembalikan:

[
  {
    "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": "人事科的张小勇"
  }
]

Dapatkan data rekod halaman halaman jadual data dan kembalikannya dalam format JSON (Ambil data paging LayUI sebagai contoh) Data yang dikembalikan oleh

<?php
$page  = isset($_POST[&#39;page&#39;]) ? intval($_POST[&#39;page&#39;]) : 1;//获取页数
$limit = isset($_POST[&#39;limit&#39;]) ? intval($_POST[&#39;limit&#39;]) : 10;//获取每页的显示记录数
$offset = ($page-1)*$limit;//计算起始位置
 
require &#39;linkConfig.php&#39;;//连接数据库
$sql1 = "select count(*) from druserlist";
$result1 = $mysqli->query($sql1);
$rowCount = $result1->fetch_row();
 
$returnArr[&#39;code&#39;]=0;
$returnArr[&#39;msg&#39;]="";
$returnArr[&#39;count&#39;]=$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[&#39;data&#39;]=$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"
    }
  ]
}

boleh mengembalikan gaya data yang berbeza mengikut paging bahagian hadapan keperluan Setelah anda mengetahui pemprosesan PHP, ia akan menjadi lebih mudah untuk dikendalikan.

Pemprosesan PHP set hasil pertanyaan pangkalan data mysql.

⑴ fetch_array()

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
while($row = $result->fetch_array()){
    $rows[] = $row;
}
foreach($rows as $row){
    echo $row[&#39;C01&#39;].&#39;  &#39;.$row[&#39;C02&#39;].&#39;<br>&#39;;
}
$result->close();
$mysqli->close();
?>

Keputusan dikembalikan baris demi baris:

00924001 Pejabat Pengurus 01
00924000

Mengembalikan format JSON:

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
while($row = $result->fetch_array()){
    $rows[] = $row;
}
echo json_encode($rows);//返回JSON格式数据
$result->close();
$mysqli->close();
?>

Hasil yang dikembalikan:

[
  {
    "0": "00924001",
    "1": "经理办01",
    "C01": "00924001",
    "C02": "经理办01"
  },
  {
    "0": "00924002",
    "1": "经理办02",
    "C01": "00924002",
    "C02": "经理办02"
  },
  {
    "0": "00923128",
    "1": "人事科01",
    "C01": "00923128",
    "C02": "人事科01"
  }
]

Daripada output di atas, dapat dilihat bahawa output adalah gaya nombor dan nama medan masing-masing Menurut manual operasi PHP, anda boleh mendapatkan nilai rekod dengan memberikan parameter fungsi fetch_array(), iaitu, tiga output berikut adalah sama.

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
//第一种输出
while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
    echo $row[0].&#39;  &#39;.$row[1].&#39;<br>&#39;;
}
//第二种输出
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
    echo $row[&#39;C01&#39;].&#39;  &#39;.$row[&#39;C02&#39;].&#39;<br>&#39;;
}
//第三种输出
while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
    echo $row[0].&#39;  &#39;.$row[&#39;C02&#39;].&#39;<br>&#39;;
}
$result->close();
$mysqli->close();
?>

Tiga output ialah keputusan berikut:

00924001 Pejabat Pengurus 01

00924002 Pejabat Pengurus 02
00923128 Jabatan Kakitangan 00923128

⑵ fetch_row()

Output di atas boleh dilakukan menggunakan kaedah berikut:

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
while ($row = $result->fetch_row()) {
    printf ("%s %s <br>", $row[0], $row[1]);
}
$result->close();
$mysqli->close();
?>

⑶ fetch_assoc()

Output di atas boleh dilakukan menggunakan kaedah berikut :

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
while ($row = $result->fetch_assoc()) {
    printf ("%s %s <br>", $row["C01"], $row["C02"]);
}
$result->close();
$mysqli->close();
?>

⑷ fetch_all()

Sama seperti fetch_array, terdapat juga pilihan parameter, iaitu: MYSQLI_ASSOC, MYSQLI_NUM atau MYSQLI_BOTH.

<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
$rows=$result->fetch_all(MYSQLI_NUM);
$r=0;
while ( $r < mysqli_num_rows($result) ) {
    printf ("%s %s <br>", $rows[$r][0], $rows[$r][1]);
    $r++;
}
$result->close();
$mysqli->close();
?>
<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
$rows=$result->fetch_all(MYSQLI_ASSOC);
$r=0;
while ( $r < mysqli_num_rows($result) ) {
    printf ("%s %s <br>", $rows[$r][&#39;C01&#39;], $rows[$r][&#39;C02&#39;]);
    $r++;
}
$result->close();
$mysqli->close();
?>
<?php
require &#39;linkConfig.php&#39;;//根据连接信息连接数据库
$sql = "select C01,C02 from druserlist where C04=&#39;普通用户&#39;";//查询数据表
$result=$mysqli->query($sql);//以索引的方式返回一个结果集
$rows=$result->fetch_all(MYSQLI_BOTH);
$r=0;
while ( $r < mysqli_num_rows($result) ) {
    printf ("%s %s <br>", $rows[$r][0], $rows[$r][&#39;C02&#39;]);
    $r++;
}
$result->close();
$mysqli->close();
?>

Keluaran tiga keping kod di atas adalah sama.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan data rekod daripada pangkalan data MySQL dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam