Frage:
Wenn Sie Daten aus einer MySQL-Tabelle mit mysql_fetch_array abrufen, verdoppeln Sie Es werden Werte zurückgegeben, was zu einer doppelten Ausgabe führt, wenn das Array durchlaufen wird.
Beispiel:
<code class="php"><?php $table = get_personel_table(1); function get_personel_table($id) { global $connection; $query = "SELECT * "; $query .= "FROM employees "; $query .= "WHERE id=" . $id . " "; $query .= "ORDER BY id ASC"; $query_result = mysql_query( $query , $connection ); confirm_query($query_result); $query_result_array = mysql_fetch_array($query_result); return $query_result_array; // returns associative array!; } foreach($table as $table_var) { echo "<td>" . $table_var . "</td>"; } // Output: // "1 1 1 1 jordan jordan 9108121544 9108121544 testEmail testEmail testAddress testAddress testCounty testCounty"</code>
Warum passiert das?
Die Funktion mysql_fetch_array gibt ein Array zurück, das standardmäßig sowohl assoziative als auch numerische Indizes enthält. Dies bedeutet, dass sowohl die Spaltennamen als auch die Spaltenindizes (0, 1, 2 usw.) als Schlüssel verwendet werden.
Lösung:
Um doppelte Werte zu verhindern , verwenden Sie den zweiten Parameter von mysql_fetch_array, um anzugeben, welche Art der Indizierung Sie wünschen. Sie können zwischen nur numerischen Indizes, nur assoziativen Indizes oder beidem wählen.
<code class="php">// Numerical indexes only $query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // Associative indexes only $query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC); </code>
Alternativ können Sie die Funktionen mysql_fetch_row und mysql_fetch_assoc verwenden, um Daten nur mit numerischen bzw. assoziativen Indizes abzurufen.
<code class="php">// Numerical indexes only $query_result_array = mysql_fetch_row($query_result); // Associative indexes only $query_result_array = mysql_fetch_assoc($query_result); </code>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich doppelte Werte, wenn ich mysql_fetch_array verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!