PHP : Pengertian dan Fungsi mysqli_fetch_assoc

Pagi gaes... 😁
Pernah mempelajari tentang array asosiatif !? Array asosiatif adalah array yang tidak menggunakan angka sebagai kunci untuk setiap nilai. Jika tidak ada kunci yang ditentukan untuk elemen array, PHP secara otomatis menyediakan kunci dalam bentuk angka. 

Nah, apa hubungannya dengan artikel kali ini 😕
Karena pada artikel kali ini kita akan membahas salah satu terkait dengan sebuah fungsi yang digunakan untuk pengolahan data antara php dan mysql, yaitu mysqli_fetch_assoc().

Dalam website resminya fungsi ini di definisikan :

Fetches one row of data from the result set and returns it as an associative array. Each subsequent call to this function will return the next row within the result set, or null if there are no more rows.

If two or more columns of the result have the same name, the last column will take precedence and overwrite any previous data. To access multiple columns with the same name, mysqli_fetch_row() may be used to fetch the numerically indexed array, or aliases may be used in the SQL query select list to give columns different names.

Maksudnya :
Mengambil sebuah data dari kumpulan data ( basis data ) dan mengembalikannya dalam bentuk array asosiatif. Setiap panggilan berikutnya ke fungsi ini akan mengambil baris data berikutnya atau nol jika tidak ada baris lagi.

Jika dua atau lebih kolom hasil memiliki nama yang sama, kolom terakhir akan diutamakan dan menimpa data sebelumnya. Untuk mengakses beberapa kolom dengan nama yang sama, mysqli_fetch_row() dapat digunakan untuk mengambil array yang di indeks secara numerik, atau alias dapat digunakan dalam daftar pemilihan kueri SQL untuk memberi kolom nama yang berbeda.

Intinya fungsi ini adalah fungsi yang digunakan untuk mengambil data dari suatu sumber data ( umumnya basis data, contohnya mysql ) dan nantinya akan menyimpan hasilnya dalam bentuk array asosiatif.
Bisa kita lihat untuk contoh array asosiatif yaitu :

$arrayAsosiatif = array(
    'nama' => 'My Source Code',
    'negara' => 'Indonesia',
    'umur'  => 350);

🛈 Array asosiatif juga bisa dinamakan dengan Map, dimana isinya memiliki key dan value. Key adalah indeks string itu dan value merupakan isi dari indeks.
Setiap indeks diwakili oleh sebuah data string. Nah, dalam kasus pengambilan data dari basis data mysql dengan fungsi mysql_fetch_assoc. Nama setiap kolom dalam tabel basis data akan menjadi indeks atau key-nya.

Mari kita buka tabel kita yang kemarin telah kita buat, yaitu tb_latihan ( basis data db_latihan ).

Setelah kita menggunakan fungsi mysqli_fetch_assoc() terhadap tabel ini, maka data yang dihasilkan nantinya akan menjadi :
$result = array(
    "nama" => "My Source Code",
    "alamat" => "Jl. Web Blog No. 1 by MSC",
    "tanggal_lahir" => "2023-02-07",
    "umur" => "3"
);

Dan seterusnya, sampai data yang terakhir. Namun dalam implementasi dengan kode php, data yang dihasilkan akan menjadi :
array(4) {
        ["nama"]=> string(14) "My Source Code"
        ["alamat"]=> string(25) "Jl. Web Blog No. 1 by MSC"
        ["tanggal_lahir"]=> string(10) "2023-02-17"
        ["umur"]=> string(1) "3" }

Yang berada dalam kurung siku [] merupakan sebuah nama-nama kolom yang ada dalam tabel kita ( tb_latihan ) sedang value-nya diambil dari isi dari tabel.
Next, coba kita buat beberapa baris kode untuk menjalankan fungsi mysqli_fetch_assoc :
<?php
    include("koneksiSQL.php");

    $sql = "SELECT * FROM tb_latihan";
    $myquery = mysqli_query($server, $sql);
  
    $hasilSQL = mysqli_fetch_assoc($myquery);

    echo var_dump($hasilSQL);
   
    // menutup koneksi
    mysqli_close($server); 
?>

Hasilnya :


Terlihat hasilnya menampilkan array asosiatif bukan ? 😌
Itulah jawaban kenapa saat kita ingin menampilkan datanya, kebanyakan dengan perintah :
    if(mysqli_num_rows($myquery) > 0)
    {
       while($data = mysqli_fetch_assoc($myquery)){
           echo "Nama : ".$data["nama"]; // ini
           echo"<br>";
           echo "Alamat : ".$data["alamat"]; // ini
           echo"<br>";
           echo "Tanggal Lahir : ".$data["tanggal_lahir"]; // ini
           echo"<br>";
           echo "Umur : ".$data["umur"]; // ini
           echo "<br><br>";
       }
    }

Karena kita memanggil indeks atau key dari array asosiatif hasil penggunaan mysqli_fetch_assoc
Semoga membantu and thanks for reading our article 😍😇
Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama