当前位置:首页 » 编程语言 » phpfetchassoc

phpfetchassoc

发布时间: 2025-07-31 13:04:54

php mysql_fetch_array函数,怎样取得所有行

mysql系的函数中都是逐行读取的,即第一次mysql_fetch_array得到第一行,第二次得到第二行...你可以自己定义一个函数来读取所有行,例如
function mysql_fetch_all($result) {
$rows = array();

while($row=mysql_fetch_array($result))

$rows[] = $row;

return $rows;

}

更好的办法建议你用pdo方式访问mysql,这个也是php目前推荐的方式(php5开始pdo库默认在php.ini中已经启用,而mysql系列默认是不启用的)。pdo提供了fetch_all方法取得所有行及fetch方法取得一行。

更多信息请查看php手册中的说明。

② php mysql_fetch_assoc 循环遍历表格

有2个办法,第一种直接使用sql的多表联查,效率高,但是得到的数据table1会被扩展成table2一样的条目数 要再次处理

select*fromtable1a,table2bwherea.orderid=b.orderid

第二种方法,先得到table11的数据,在循环中匹配table2到一个新的列名中

$conn=mysqli_connect("127.0.0.1","root","123","test");
$sql="select*fromtable1";
$rs=mysqli_query($conn,$sql);
$Arr=array();
while($row=mysqli_fetch_assoc($rs)){
$sql="select*fromtable2whereorderid=".$row["orderid"];
$row["order_sku"]=mysqli_fetch_all(mysqli_query($conn,$sql),MYSQLI_ASSOC);
$Arr[]=$row;
}
print_r($Arr)

如果你是刚开始学php 建议直接抛弃mysql用mysqli 因为PHP5.5已经废弃mysql方法了

③ 新手求助:php从数据库取值问题mysql_fetch_assoc()函数的问题

mysql_fetch_assoc会从结果集中取出一行记录,而且资源指针会往下跳,
也就是说,再用mysql_fetch_assoc时,会取得新的一行记录,
以此类推,每执行一次mysql_fetch_assoc,取一新行,直到取出最后一行,
再取时,因为已经没有下一行,就会返回false。

综上所述:
在你的第一个例子中,$s_as=mysql_fetch_assoc($s_re),是取出结果集的第一行,第一行不为空吧,所以$s_as不等于false,所以,当你用while($s_as)时,相当于while(true),是一个死循环

第二个例子中,则不同,while($s_as=mysql_fetch_assoc($s_re)),每次取一行,当取到最后一行时,再没有一下行了,mysql_fetch_assoc就会返回flash,也就是$s_as=false,while循环就会停止

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:587
制作脚本网站 发布:2025-10-20 08:17:34 浏览:882
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:678
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1006
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:251
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:706