Heim >Datenbank >MySQL-Tutorial >Warum führt mein MySQLi-Fetch-Array zu einer doppelten Ausgabe?

Warum führt mein MySQLi-Fetch-Array zu einer doppelten Ausgabe?

DDD
DDDOriginal
2024-10-29 05:35:311100Durchsuche

Why Does My MySQLi Fetch Array Result in Doubled Output?

Doppelte Ergebnisse im Array (MySQLi Fetch Array)

Problem

Die Ausführung des folgenden Codes:

<code class="php">$table = get_personel_table(1);

function get_personel_table($id) {
    global $connection;
    $query = "SELECT * FROM employees WHERE id=$id ORDER BY id ASC";
    $query_result = mysqli_query($connection, $query);
    confirm_query($query_result);
    $query_result_array = mysqli_fetch_array($query_result);
    return $query_result_array; // returns associative array!
}

foreach($table as $table_var) {
    echo "<td>$table_var</td>";
}</code>

führt zu verdoppelte Ausgabe, wie zum Beispiel:

1 1   1   1   jordan  jordan  9108121544  9108121544  testEmail   testEmail   testAddress testAddress testCounty  testCounty

Lösung

Das Standardverhalten von mysqli_fetch_array besteht darin, sowohl assoziative als auch numerische Indizes für die Ergebniszeile zurückzugeben. Dies ist in der gegebenen Situation unerwünscht. Um die zurückgegebenen Schlüssel zu begrenzen, können Sie den zweiten Parameter der Funktion verwenden:

<code class="php">$query_result_array = mysqli_fetch_array($query_result, MYSQLI_NUM); // numeric keys only
$query_result_array = mysqli_fetch_array($query_result, MYSQLI_ASSOC); // associative keys only</code>

Alternativ können Sie die folgenden Funktionen verwenden:

<code class="php">$query_result_array = mysqli_fetch_row($query_result); // numeric keys only
$query_result_array = mysqli_fetch_assoc($query_result); // associative keys only</code>

Nur ​​durch die Verwendung numerischer oder assoziativer Schlüssel , können Sie die Duplizierung von Daten in der Ausgabe vermeiden.

Das obige ist der detaillierte Inhalt vonWarum führt mein MySQLi-Fetch-Array zu einer doppelten Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn