首頁 > 後端開發 > php教程 > 如何用 MySQLi 取代 PHP 的 `mysql_result()` 函數?

如何用 MySQLi 取代 PHP 的 `mysql_result()` 函數?

Linda Hamilton
發布: 2024-11-25 13:29:11
原創
952 人瀏覽過

How to Replace PHP's `mysql_result()` Function with MySQLi?

如何在MySQLi 複製PHP mysql_result() 函數的功能

mysql_result() 函數,用於遺留開發人員能夠快速從MySQL查詢結果存取特定資料。然而,MySQLi 本身並不支援此功能,MySQLi 是經過改進和推薦的用於與 MySQL 資料庫互動的擴充功能。

取得行的替代方法

一種常見的檢索方法MySQLi 查詢結果中的資料是使用 fetch_assoc() 方法取得對應的行。以下是範例:

if ($r && $r->num_rows) {
    $row = $r->fetch_assoc();
    $blarg = $row['blah'];
}
登入後複製

此方法涉及多行,並且比使用 mysql_result() 等專用函數效率較低。

自訂等效函數

要複製MySQLi 中mysql_result() 的功能,您可以建立一個自訂函數,如下所示:

function mysqli_result($res,$row=0,$col=0){ 
    $numrows = mysqli_num_rows($res); 
    if ($numrows &amp;&amp; $row <= ($numrows-1) &amp;&amp; $row >=0){
        mysqli_data_seek($res,$row);
        $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
        if (isset($resrow[$col])){
            return $resrow[$col];
        }
    }
    return false;
}
登入後複製

函數接受行索引和列索引作為參數,並傳回對應的資料(如果存在)。它還處理與越界請求相關的潛在錯誤。

用法:

mysqli_result() 函數的使用方式與mysql_result() 類似:

if ($r && $r->num_rows)  
    $blarg = mysqli_result($r, 0, 'blah');
登入後複製

好處和限制>

自訂mysqli_result() 函數允許更簡潔的程式碼,並減少從 MySQLi 查詢結果檢索資料所需的行數。但是,應該注意的是,該函數依賴於 PHP 的動態函數調用,與原始 mysql_result() 實作相比,可能會產生較小的效能損失。

以上是如何用 MySQLi 取代 PHP 的 `mysql_result()` 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板