Pertanyaan hasil ganda dalam array saya (mysql_fetch_array)


Ok saya mengeksekusi ini

$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!;
    }

dan saya melakukan foreach

foreach($table as $table_var)
{
    echo "<td>" . $table_var . "</td>";
} 

dan dengan melakukan itu saya mendapatkan output ganda ... "1 1 1 1 jordan jordan 9108121544 9108121544 testEmail testEmail emailKesekan ujiAddress testCounty testCounty"

di bawah ini adalah hasil print_r

 Array
    (
        [0] => 1
        [id] => 1
        [1] => 1
        [department_id] => 1
        [2] => jordan
        [name] => jordan
        [3] => 9108121544
        [EGN] => 9108121544
        [4] => testEmail
        [email] => testEmail
        [5] => testAddress
        [address] => testAddress
        [6] => testCounty
        [country] => testCounty
    )

Informasi yang saya miliki dalam database adalah id => 1, department_id => 1, dan seterusnya ... Pertanyaan saya adalah mengapa saya mendapatkan umpan balik ganda (saya tidak tahu bagaimana menyebutnya), 0 = id, 1 = department_id, 2 = name dan seterusnya ..

dan ketika saya melakukan foreach (...) saya mendapatkan semuanya dua kali lipat.


4
2018-03-04 16:47


asal


Jawaban:


Dari manual:

mysql_fetch_array - Ambil baris hasil sebagai array asosiatif, array numerik, atau keduanya

Secara default, mysql_fetch_array memberikan indeks asosiatif dan numerik. Anda tidak menginginkan ini. Anda dapat membatasi dengan parameter kedua:

$query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // numeric keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC); // associative keys only

Anda juga bisa menggunakan mysql_fetch_row untuk hanya mendapatkan kunci numerik, atau mysql_fetch_assoc untuk hanya mendapatkan kunci asosiatif.

$query_result_array = mysql_fetch_row($query_result); // numeric keys only
$query_result_array = mysql_fetch_assoc($query_result); // associative keys only

16
2018-03-04 16:50