zoukankan      html  css  js  c++  java
  • 2019-07-24 PHP中mysql_fetch_assoc 和 mysql_fetch_array 有什么区别?

    mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组

    来看下面的例子:

    数据库中有上述几条数据,一般我们想取用就要按照如下代码:

    $con = mysql_connect('127.0.0.1','root','root');
    mysql_query('use news');
    mysql_query('set names utf8');
    
    
    $sql = "select * from assoc";
    $res = mysql_query($sql);

    写到这里,$res如果你打印的话,会发现他是一个资源型的结果集,我们并不能直接用,这时候我们就需要用到mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组,然后用while进行循环,再把它存放在数组中,再进行操作。

    为了让mysql_fetch_assoc 和 mysql_fetch_array的区别更明显,在这里先不进行循环,来看下两种结果有何区别?

    //用array_fetch_assoc
    $row = mysql_fetch_assoc($res);
    
    print_r($row);

    打印结果是:Array ( [id] => 1 [content] => 一 );可以看到我们得到的是一个关联数组,数据库字段为key值为value。

    mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有

    //用mysql_fetch_array
    $row = mysql_fetch_array($res);
    
    print_r($row);

    打印结果是:Array ( [0] => 1 [id] => 1 [1] => 一 [content] => 一 );可以看到我们返回的结果既有数据库字段为key值为value的关联数组,也有数字下标,数据库中的值为value的索引数组。在有些情况下可能只会返回其中的一种或两种均有。如果想要指定返回某一种数组我们可以在括号内再加一个参数。

    $row = mysql_fetch_array($res,MYSQL_ASSOC);
    print_r($row);

    打印结果是:Array ( [id] => 1 [content] => 一 );可以看到我们在后面加入一个参数返回到的就是一个关联数组。像这样的参数有三个:

    • MYSQL_ASSOC - 关联数组
    • MYSQL_NUM - 数字数组
    • MYSQL_BOTH - 默认。同时产生关联和数字数组

    我们可以根据实际需要进行选择。

  • 相关阅读:
    C#缓存
    js 日期相减
    无法加载图片信息处理
    一些经营性的文章,写得不蛮不错
    集线器、交换机、路由器的区别
    存储过程使用建议
    存储过程优点和缺点
    杀人游戏规则介绍(1.0~5.0版本)
    C#网络编程(1) 来源出网络的资源收集
    谈谈外包软件项目的经验
  • 原文地址:https://www.cnblogs.com/zhangxu-fasu/p/11238043.html
Copyright © 2011-2022 走看看