首頁  >  文章  >  後端開發  >  PHP中取得SQL的查詢結果的常用函數整理(實例詳解)

PHP中取得SQL的查詢結果的常用函數整理(實例詳解)

WBOY
WBOY原創
2021-10-27 17:03:025938瀏覽

在之前的文章中為大家帶來了《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() 函數可以從結果集中取得一行,並以索引數組的形式返回,其語法格式如下:

mysqli_result::fetch_row()

這是面向對象的寫法,面向過程的寫法如下:

mysqli_fetch_row(mysqli_result $result)

其中需要注意的是: mysqli_result和 $result 表示為使用mysqli_query() 函數取得的結果集。

接下來我們透過範例來看mysqli_fetch_row() 函數的用法,範例如下:

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

輸出結果:

PHP中取得SQL的查詢結果的常用函數整理(實例詳解)

#在上述範例中,透過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     = &#39;localhost&#39;;
    $username = &#39;root&#39;;
    $password = &#39;root&#39;;
    $dbname   = &#39;test&#39;;
    $link     = @mysqli_connect($host, $username, $password, $dbname);
    if($link){
        $sql    = &#39;select name,sex,age from user&#39;;  // SQL 语句
        $result = mysqli_query($link, $sql);        // 执行 SQL 语句,并返回结果
        $data   = mysqli_fetch_assoc($result);      // 从结果集中获取一条数据
        mysqli_close($link);
    }else{
        echo &#39;数据库连接失败!&#39;;
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
?>

輸出結果:

PHP中取得SQL的查詢結果的常用函數整理(實例詳解)

由上述範例,我們透過mysqli_fetch_assoc() 函數成功的獲取了資料庫中的一行資訊並且透過關聯數組的方式傳回。我們也可以透過函數來控製傳回資料的形式,讓它可以是索引數組也可以是關聯數組或是兩者兼顧的形式,這時候我們就要用到mysqli_fetch_array() 函數。

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

mysqli_fetch_array() 函數可以從結果集中取得一行,並根據參數以關聯數組、索引數組或二者兼有的形式返回,它的語法格式如下:

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     = &#39;localhost&#39;;
    $username = &#39;root&#39;;
    $password = &#39;root&#39;;
    $dbname   = &#39;test&#39;;
    $link     = @mysqli_connect($host, $username, $password, $dbname);
    if($link){
        $sql    = &#39;select name,sex,age from user&#39;;          // SQL 语句
        $result = mysqli_query($link, $sql);                // 执行 SQL 语句,并返回结果
        $data   = mysqli_fetch_array($result, MYSQLI_ASSOC);// 从结果集中获取所有数据
        mysqli_close($link);
    }else{
        echo &#39;数据库连接失败!&#39;;
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
?>

輸出結果:

PHP中取得SQL的查詢結果的常用函數整理(實例詳解)

#在上述範例中,我們選擇了透過關聯數組的形式來傳回數據,我們透過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     = &#39;localhost&#39;;
    $username = &#39;root&#39;;
    $password = &#39;root&#39;;
    $dbname   = &#39;test&#39;;
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die(&#39;数据库连接失败:&#39;.$mysql->connect_errno);
    }else{
        $sql    = &#39;select name,sex,age from user&#39;;     // SQL 语句
        $result = $mysql -> query($sql);               // 执行上面的 SQL 语句
        $data   = $result -> fetch_all(MYSQLI_ASSOC);
        $mysql -> close();
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
?>

输出结果:

PHP中取得SQL的查詢結果的常用函數整理(實例詳解)

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

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

以上是PHP中取得SQL的查詢結果的常用函數整理(實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn