1

NoSQL データベースからデータを取得する関数があります。それが利用できない場合は、MySQL データベースにアクセスしてデータを取得しますが、問題は、関数がデータを配列に 2 回入れていることです。理由を理解してください。

期待される結果

array(2) { 
["id"]=> string(2) "30" 
["username"]=> string(8) "Username" }

実結果

array(4) { 
[0]=> string(2) "30" 
["id"]=> string(2) "30" 
[1]=> string(8) "Username" 
["username"]=> string(8) "Username" }

コード

問題に関係のないコードは削除され、疑似コード コメントに置き換えられます。

        $Connection = $this->Connect("MySQLi");
        $Data = MySQLi_Fetch_Array(

            MySQLi_Query($Connection["MySQLi"], $Options["Query"])

        );

        echo "Got array (MySQLi).";

「Got array (MySQLi)」という文字列に注意してください。一度だけ登場。

4

2 に答える 2

2

MySQLi_Fetch_Array1 つの配列で重複データを取得します - 数値インデックスと連想インデックスを同時に使用します

mysqli_fetch_assoc代わりに使用して、関連性のみを持たせます

于 2013-07-21T18:19:55.513 に答える
1

mysqli_fetch_array()はパラメータ を取り、resulttypeデフォルトでは に設定されていMYSQLI_BOTHます。

MYSQLI_ASSOC 定数を使用すると、この関数は mysqli_fetch_assoc() と同じように動作し、MYSQLI_NUM は mysqli_fetch_row() 関数と同じように動作します。最後のオプション MYSQLI_BOTH は、両方の属性を持つ単一の配列を作成します。

mysqli_fetch_assocは連想配列をmysqli_fetch_rowフェッチし、数値インデックスを持つ配列をフェッチします。

mysqli_fetch_arrayこのパラメーターMYSQLI_BOTHを使用すると、名前付き (連想) インデックスと数値インデックスの両方が同じ配列にフェッチされます。

于 2013-07-21T18:23:56.473 に答える