Mengenal perbedaan mysql_fetch_array, mysql_fetch_assoc dan mysql_fetch_row

Mengenal perbedaan mysql_fetch_array, mysql_fetch_assoc dan mysql_fetch_row

3608
4
SHARE

Bagi anda programmer PHP, pasti tidak asing lagi dengan mysql_fetch_array kan? hampir seluruh buku tutorial yang ada dipasaran menggunakan fungsi ini untuk menampilkan data dari database. hehe.. Tapi tahukah anda mysql_fetch_assoc dan mysql_fetch_row? Jika anda belum mengetahuinya berikut ini adalah penjelasan mengenai ketiga fungsi di atas.

Ketiga fungsi diatas memiliki tujuan yang sama yaitu menampilkan data dari tabel dalam bentuk array. Namun berikut ini adalah perbedaan di antara ketiga nya :

mysql_fetch_array

mysql_fetch_array digunakan untuk menghasilkan array dari tabel dalam bentuk associative array dan/atau numeric array. Berikut ini adalah contoh output dari mysql_fetch_array.

Array
(
[0] => 1
[id_skep] => 1
[1] => KEP-01/HC/2014
[no_skep] => KEP-01/HC/2014
[2] => 2014-12-28
[tgl_skep] => 2014-12-28
)

Untuk mengaksesnya kita bisa menuliskan $nama_array[nama_field] atau $nama_array[urutan_array]. Misalnya $data[id_skep] atau $data[0]

Kita bisa juga mengatur type output dari mysql_fetch_array dengan menambahkan parameter kedua yaitu : MYSQL_ASSOC, MYSQL_NUM atau  MYSQL_BOTH.

mysql_fetch_array($query, MYSQL_ASSOC);
mysql_fetch_array($query, MYSQL_NUM);
mysql_fetch_array($query, MYSQL_BOTH)

Secara default akan digunakan  MYSQL_BOTH. Jika kita menambahkan  MYSQL_ASSOC maka outpunya akan sama dengan mysql_fetch_assoc dan jika menggunakan MYSQL_NUM outpunya sama dengan mysql_fetch_row.

mysql_fetch_assoc

mysql_fetch_assoc digunakan untuk menghasilkan array dari tabel hanya dalam bentuk associative array. Berikut ini adalah contoh output dari mysql_fetch_assoc.

Array
(
[id_skep] => 1
[no_skep] => KEP-01/HC/2014
[tgl_skep] => 2014-12-28
)

Untuk mengaksesnya kita hanya bisa menuliskan $nama_array[nama_field] Misalnya $data[id_skep]

mysql_fetch_row

mysql_fetch_row digunakan untuk menghasilkan array dari tabel hanya dalam bentuk numeric array. Berikut ini adalah contoh output dari mysql_fetch_row.

Array
(
[0] => 1
[1] => KEP-01/HC/2014
[2] => 2014-12-28
)

Untuk mengaksesnya kita hanya bisa menuliskan $nama_array[urutan_array]. Misalnya $data[0]

Dari penjelasan diatas terlihat jelas bahwa mysql_fetch_array (default) menghasilkan data yang lebih banyak dibandingkan mysql_fetch_assoc ataupun mysql_fetch_row. Jika anda hanya menggunakan nama field untuk menampilkan data, ada baiknya anda menggunakan mysql_fetch_assoc dari pada mysql_fetch_array sehingga tidak ada output yang terbuang percuma.

Demikianlah pembahasan tentang mysql_fetch_array, mysql_fetch_assoc dan mysql_fetch_row. Semoga bermanfaat. Terima kasih telah berkungjung ke harviacode.com, ditunggu komentarnya… 😀

Bagikan artikel ini ya.. terima kasih

4 COMMENTS

  1. Mas,mau tanya.
    Saya punya data inputan berupa combobox form yang sumbernya dari tabel lain dan data itu akan berubah jumlahnya tergantung database.
              => Misal : saya mau input data lahan di desa kecamatan A sejumlah 5 desa.begitu juga dengan kecamatan lain yang mempunyai jumlah desa yang berbeda. saya sudah berhasil membuat inputan itu, tapi kenapa yang bisa tersimpan di database adalah desa yang terakhir?
    bagaimana caranya untuk mensave data lahan dari semua desa tersebut.
     mohon bantuannya mas, saya sudah googling 3 hari tapi blm nemu solusinya.

    Regard,
    huda

    • kalo combobox mw bisa dipilih banyak jangan lupa ditambahi atribute multiple=”multiple”. nanti name nya berupa array. misalnya desa[]. Nanti outputnya berupa array juga. Bisa dilooping untuk insert ke databasenya, atau bisa langsung diimplode agar menjadi string. demikian mas Huda.

  2. mas mau nanya kalo misal ada data dalam tabel 01, 01, 02, 03, 04, 04. itu biar nilai data yg sama dengan sebelumnya tidak ditampilkan bgaimana ya caranya?

LEAVE A REPLY