PHP中获取SQL的查询结果的常用函数整理(实例详解)

WBOY
发布: 2021-10-27 17:03:02
原创
6610人浏览过

在之前的文章中给大家带来了《php中mysqli_select_db与mysqli_query函数的用法》,其中给大家详细的介绍了应该怎样使用者两个函数以及他们的主要作用,本篇我们继续来看一下php中怎样获取sql的查询结果。希望对大家有帮助!

PHP中获取SQL的查询结果的常用函数整理(实例详解)

在上一篇文章中讲到了要如何执行一条SQL语句,也就是调用mysqli_query() 函数,通过该函数我们已经能够查询到数据库的信息了,但是在我们的日常开发中还是需要对这一个结果进行处理才能够得到我们想要的信息。那接下来我们就看一下PHP中处理结果常用的几个函数吧。

<strong><span style="font-size: 20px;">mysqli_fetch_row()</span></strong> 函数

mysqli_fetch_row() 函数可以从结果集中取得一行,并以索引数组的形式返回,其语法格式如下:

立即学习PHP免费学习笔记(深入)”;

mysqli_result::fetch_row()
登录后复制

这是面向对象的写法,面向过程的写法如下:

mysqli_fetch_row(mysqli_result $result)
登录后复制

其中需要注意的是: mysqli_result和 $result 表示为使用 mysqli_query() 函数获取的结果集。

接下来我们通过示例来看一下mysqli_fetch_row() 函数的用法,示例如下:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die('数据库连接失败:'.$mysql->connect_errno);
    }else{
        $sql    = 'select name,sex,age from user';     // SQL 语句
        $result = $mysql -> query($sql);               // 执行上面的 SQL 语句
        $data   = $result -> fetch_row();
        $mysql -> close();
    }
    echo '<pre>';
    print_r($data);
?>
登录后复制

输出结果:

1027.07.png

上述示例中,通过mysqli_fetch_row() 函数成功查询到了数据库中的其中一行数据,并且是以索引数组的方式返回的。那接下来我们看一下不同的返回形式。

<strong><span style="font-size: 20px;">mysqli_fetch_assoc()</span></strong> 函数

mysqli_fetch_assoc() 函数可以从结果集中取得一行,并以关联数组的形式返回,该函数的语法格式如下:

mysqli_result::fetch_assoc()
登录后复制

这是其面向对象的语法格式写法,下面是起面向过程语法格式的写法:

mysqli_fetch_assoc(mysqli_result $result)
登录后复制

其中需要注意的是: mysqli_result和 $result 表示为使用 mysqli_query() 函数获取的结果集。

接下来我们通过示例来看一下mysqli_fetch_assoc() 函数的使用,示例如下:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $link     = @mysqli_connect($host, $username, $password, $dbname);
    if($link){
        $sql    = 'select name,sex,age from user';  // SQL 语句
        $result = mysqli_query($link, $sql);        // 执行 SQL 语句,并返回结果
        $data   = mysqli_fetch_assoc($result);      // 从结果集中获取一条数据
        mysqli_close($link);
    }else{
        echo '数据库连接失败!';
    }
    echo '<pre>';
    print_r($data);
?>
登录后复制

输出结果:

1027.08.png

由上述示例,我们通过mysqli_fetch_assoc() 函数成功的获取了数据库中的一行信息并且通过关联数组的方式返回。我们也可以通过函数来控住返回数据的形式,让它可以是索引数组也可以是关联数组或者两者兼顾的形式,这时候我们就要用到mysqli_fetch_array() 函数。

<strong><span style="font-size: 20px;">mysqli_fetch_array()</span></strong> 函数

mysqli_fetch_array() 函数可以从结果集中取得一行,并根据参数以关联数组、索引数组或二者兼有的形式返回,它的语法格式如下:

火龙果写作
火龙果写作

用火龙果,轻松写作,通过校对、改写、扩展等功能实现高质量内容生产。

火龙果写作 106
查看详情 火龙果写作
mysqli_result::fetch_array([int $resulttype = MYSQLI_BOTH])
登录后复制

这是面向对象的语法方式,下面是面向过程的语法方式:

mysqli_fetch_array(mysqli_result $result[, int $resulttype = MYSQLI_BOTH])
登录后复制

其中需要注意的是:

  • mysqli_result和 $result 表示为使用 mysqli_query() 函数获取的结果集。

  • $resulttype 为可选参数,它是一个常量,用来设定返回值的类型,它的取值可以是 MYSQLI_ASSOCMYSQLI_NUM 或MYSQLI_BOTH表示返回值的不同类型。

接下来我们通过示例来看一下mysqli_fetch_array() 函数的用法,示例如下:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $link     = @mysqli_connect($host, $username, $password, $dbname);
    if($link){
        $sql    = 'select name,sex,age from user';          // SQL 语句
        $result = mysqli_query($link, $sql);                // 执行 SQL 语句,并返回结果
        $data   = mysqli_fetch_array($result, MYSQLI_ASSOC);// 从结果集中获取所有数据
        mysqli_close($link);
    }else{
        echo '数据库连接失败!';
    }
    echo '<pre>';
    print_r($data);
?>
登录后复制

输出结果:

1027.08.png

上述示例中,我们选择了通过关联数组的形式来返回数据,我们通过mysqli_fetch_array() 函数可以选择返回值的不同类型。

<strong><span style="font-size: 20px;">mysqli_fetch_all() </span></strong>函数

mysqli_fetch_all() 函数可以获取结果集中的所有数据,并根据参数以关联数组、索引数组或二者兼有的形式返回,它的语法格式如下:

mysqli_result::fetch_all([int $resulttype = MYSQLI_NUM])
登录后复制

这是面向对象的写法,下面是面向过程的写法:

mysqli_fetch_all(mysqli_result $result [, int $resulttype = MYSQLI_NUM])
登录后复制

其中需要注意的是:与mysqli_fetch_array() 函数的语法相同

  • mysqli_result和 $result 表示为使用 mysqli_query() 函数获取的结果集。

  • $resulttype 为可选参数,它是一个常量,用来设定返回值的类型,它的取值可以是 MYSQLI_ASSOCMYSQLI_NUM MYSQLI_BOTH表示返回值的不同类型。

接下来通过示例来看一下mysqli_fetch_all() 函数的使用,示例如下:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die('数据库连接失败:'.$mysql->connect_errno);
    }else{
        $sql    = 'select name,sex,age from user';     // SQL 语句
        $result = $mysql -> query($sql);               // 执行上面的 SQL 语句
        $data   = $result -> fetch_all(MYSQLI_ASSOC);
        $mysql -> close();
    }
    echo '<pre>';
    print_r($data);
?>
登录后复制

输出结果:

1027.09.png

上述示例中,便是通过mysqli_fetch_all() 函数选择以关联数组的形式返回所有的数据。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上就是PHP中获取SQL的查询结果的常用函数整理(实例详解)的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号