曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4009|回复: 0
打印 上一主题 下一主题

[数据库] mysql_fetch_assoc() -- 取得字段内容

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2012-6-20 17:42:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
mysql_fetch_assoc() 函数可用来读取记录内容并存放在数组里,然后将记录指针移动到下一条,语法如下:
[Plain Text] 纯文本查看 复制代码
array mysql_fetch_assoc( resource $result)

参数 $result 表示的是资源标识符。

测试代码一:
[PHP] 纯文本查看 复制代码
<?php
        require_once("dbfuncs.php");
        $link = create_connection();
        $res = mysql_query("SHOW DATABASES");

        while ($row = mysql_fetch_assoc($res)) {
            echo $row['Database'] . "<br>";
        }

?>

运行输出:
information_schema
mysql
performance_schema
phpbb
phpbb3
phpwind
pw87
test
ultrax
vpn
注意,mysql_fetch_assoc() 返回的数组的下标是数据表中的字段名,如上面的 Database :


测试代码二:
[PHP] 纯文本查看 复制代码
<?php
        require_once("dbfuncs.php");

        $link = create_connection();

        $sql = "SELECT `username` AS 用户名, `uid`, `email` AS 邮件 FROM `pw_members` WHERE `uid` BETWEEN 5 AND 9";

        $result = execute_sql("pw87", $sql, $link);

        echo "<table border='1' align='center'> <tr align='center'>";

        echo "<tr>" . "<th>用户名</th>" . "<th>UID</th>" . "<th>邮件</th>" . "</tr>";

        while ($row = mysql_fetch_assoc($result)) {
                echo "<tr>";
                echo "<td>" . $row["用户名"] . "<td>" . $row["uid"]  . "<td>" . $row["邮件"] . "</td>";
                echo "</tr>";
        }

        echo "</table>";

        mysql_free_result($result);

        mysql_close($link);
?>

运行输出:

在上面程序中,使用了 AS 关键字以将原来的字段名称换为一种自定义的名称,此时 mysql_fetch_assoc() 函数所返回的数组也是要用 AS 所定义的关键字(如”用户名“ 和 ”邮件“ 这样)所定义的名字作为下标,而不是用原来数据表里原先的字段名作为数组的下标。

上面两个程序中用到的 dbfuncs.php 文件内容为:
[PHP] 纯文本查看 复制代码
<?php
function create_connection()
{
    $link = mysql_connect("localhost", "root", "mypassword")
        or die("Can not connect to database<br><br>" . mysql_error());

    mysql_query("SET NAMES utf8");
    return $link;
}

function execute_sql($database, $sql, $link)
{
    $db_selected = mysql_select_db($database, $link)
        or die("Select database failed<br><br>" . mysql_error($link));

    $result = mysql_query($sql, $link);

    return $result;
}
?>    

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-21 10:27 , Processed in 0.066968 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表