Rumah >pangkalan data >tutorial mysql >Mengapa MySQLi Saya Mengambil Array Menghasilkan Output Berganda?

Mengapa MySQLi Saya Mengambil Array Menghasilkan Output Berganda?

DDD
DDDasal
2024-10-29 05:35:311060semak imbas

Why Does My MySQLi Fetch Array Result in Doubled Output?

Keputusan Berganda dalam Array (MySQLi Fetch Array)

Masalah

Melaksanakan kod berikut:

<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>

menghasilkan output berganda, seperti:

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

Penyelesaian

Tingkah laku lalai mysqli_fetch_array adalah untuk mengembalikan kedua-dua indeks bersekutu dan angka untuk baris hasil. Ini adalah tidak diingini dalam situasi tertentu. Untuk mengehadkan kekunci yang dikembalikan, anda boleh menggunakan parameter kedua fungsi:

<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>

Sebagai alternatif, anda boleh menggunakan fungsi berikut:

<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>

Dengan menggunakan kekunci berangka atau bersekutu sahaja , anda boleh menghapuskan pertindihan data dalam output.

Atas ialah kandungan terperinci Mengapa MySQLi Saya Mengambil Array Menghasilkan Output Berganda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn