PHP fetch_array()与fetch_all()详解获取数据库数据的区别

 fetch_array()与fetch_all()都是在数据库连接成功的情况下,在查询数据后,对查询出的数据的读取方式。


1.查询数据库:

$r = $conn->query("select * from tb_employee");

2.读取:

//从数据库中读取内容:
//1.数组方式读取:
//$r->fetch_array()一行一行的读取,并为一个数组。$r是获取
//while ($row = $r->fetch_array()) {
//第一行行数据:array(10) { [0]=> string(1) "1" ["employeeId"]=> string(1) "1"
// [1]=> string(6) "汪洋" ["name"]=> string(6) "汪洋" [2]=> string(1) "1"
// ["gender"]=> string(1) "1" [3]=> string(10) "2013-10-12"
// ["brithday"]=> string(10) "2013-10-12" [4]=> string(5) "sssss"
// ["address"]=> string(5) "sssss" }
// 结束。
//第二行行数据:array(10) { [0]=> string(1) "2" ["employeeId"]=> string(1) "2"
// [1]=> string(6) "王海" ["name"]=> string(6) "王海" [2]=> string(1) "0"
// ["gender"]=> string(1) "0" [3]=> string(10) "2013-10-12"
// ["brithday"]=> string(10) "2013-10-12" [4]=> string(8) "rrrrrrrr"
// ["address"]=> string(8) "rrrrrrrr" }
// 结束。
//由此可见为一维的关联数组。
//    echo "行数据:";
//    var_dump($row);
//    echo "结束。";

// //可以用下标读取,也可以用数据库里边的关键值命名。
// echo "id " . $row[0] . " name " . $row[1] . " gender " . $row[2] .
// " birthday ". $row[3] . " address " . $row[4] . "<br>";

// echo "id " . $row["employeeId"] . " name " . $row["name"] .
// " gender " .$row["gender"] . " birthday " . $row["brithday"] .
// " address " . $row["address"] . "<br>";
//}


//3.以获取了一个所有查询内容的数组,也就是说全部内容被读出来。
//获取的这个数组内嵌套了一个数组
//解释如下:
$row = $r->fetch_all();
//打印出数组中套数组:
//array(2) { [0]=> array(5) { [0]=> string(1) "1" [1]=> string(8) "ssssdddd"
//      [2]=> string(1) "1" [3]=> NULL [4]=> string(5) "sssss" }
//[1]=> array(5) { [0]=> string(1) "2" [1]=> string(2) "yy"
//      [2]=> string(1) "0" [3]=> string(10) "2013-10-12" 
//         [4]=> string(8) "rrrrrrrr" } }
echo "打印出数组中套数组:";
var_dump($row);
echo "<br>数组中下标为0的数组:";
//数组中下标为0的数组:
//array(5) { [0]=> string(1) "1" [1]=> string(8) "ssssdddd"
// [2]=> string(1) "1" [3]=> NULL [4]=> string(5) "sssss" }
var_dump($row[0]);
echo "<br>数组中下标为1的数组:";
//数组中下标为1的数组:
//array(5) { [0]=> string(1) "2" [1]=> string(2) "yy"
// [2]=> string(1) "0" [3]=> string(10) "2013-10-12" [4]=> string(8) "rrrrrrrr" }
var_dump($row[1]);
foreach ($row as $item) {

 echo "<br>id " . $item[0] . " name " . $item[1] . " gender " . $item[2] .
            " birthday " . $item[3] . " address " . $item[4] . "<br>";
//可以从上边下标为01打印出的数组来看,不支持关键词输出。
//    echo "<br>id " . $item["employeeId"] . " name " . $item["name"] . 
//" gender " . $item["gender"] . " birthday " . $item["brithday"] . 
//"address" . $item["address"] . "<br>";

 }

代码部分已给出打印的结果和两种读取数据的各自的方式的说明。不明白的朋友,可以在下边评论提问。




  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值