Doppelte Ergebnisse mit mysql_fetch_array
Im bereitgestellten Code führen Sie eine Abfrage aus, um Personaldaten basierend auf einer ID abzurufen und das Ergebnis als zurückzugeben ein assoziatives Array. Wenn Sie jedoch das Array durchlaufen und seine Werte ausgeben, stoßen Sie auf doppelte Daten.
Das liegt daran, dass mysql_fetch_array standardmäßig sowohl den assoziativen als auch den numerischen Schlüssel abruft. Jedes Schlüssel-Wert-Paar wird zweimal angezeigt, was zu der von Ihnen beobachteten doppelten Ausgabe führt.
Lösung:
Um nur die assoziativen Schlüssel abzurufen, verwenden Sie mysql_fetch_assoc anstelle von mysql_fetch_array. Auf diese Weise beschränken Sie das zurückgegebene Array darauf, nur assoziative Schlüssel zu enthalten, und ordnen die Spaltennamen den jeweiligen Werten zu. Dadurch wird das Problem der doppelten Ausgabe behoben:
<code class="php">$query_result_array = mysql_fetch_assoc($query_result);</code>
Alternativ können Sie den zweiten Parameter von mysql_fetch_array angeben, um entweder nur assoziative oder numerische Schlüssel abzurufen:
<code class="php">$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC); // associative keys only $query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // numeric keys only</code>
Durch Verwendung von mysql_fetch_assoc oder Setting Wenn Sie den zweiten Parameter entsprechend anpassen, können Sie die doppelten Daten entfernen und eine einzelne Instanz jedes Wertes im Assoziativwert erhalten Array.
Das obige ist der detaillierte Inhalt vonWarum gibt mein „mysql_fetch_array“ doppelte Daten zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!