Rumah >pangkalan data >tutorial mysql >Mengapa MySQLi Saya Mengambil Array Menghasilkan Output Berganda?
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
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!