Heim >Datenbank >MySQL-Tutorial >Warum führt mein MySQLi-Fetch-Array zu einer doppelten Ausgabe?
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
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!