ホームページ バックエンド開発 PHPチュートリアル PHP の `mysql_result()` 関数を MySQLi に置き換えるにはどうすればよいですか?

PHP の `mysql_result()` 関数を MySQLi に置き換えるにはどうすればよいですか?

Nov 25, 2024 pm 01:29 PM

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

MySQLi で PHP の mysql_result() 関数の機能を複製する方法

従来の PHP コードで一般的に使用される mysql_result() 関数。開発者が MySQL クエリ結果から特定のデータに迅速にアクセスできるようにします。ただし、この関数は、MySQL データベースと対話するための改良された推奨拡張機能である MySQLi ではネイティブにサポートされていません。

行をフェッチする代替アプローチ

行を取得する一般的なアプローチの 1 つ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 && $row <= ($numrows-1) && $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() 実装と比較してパフォーマンスが若干低下する可能性があることに注意してください。

以上がPHP の `mysql_result()` 関数を MySQLi に置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

Laravelの通知

See all articles