Tidak ada kata sempurna pada karya manusia oleh karenanya pengembangan terus dilakukan selama itu diperlukan. lebih-lebih dibidang teknologi informasi. telah berkembang sangat pesat. dalam hal ini, kita dapat mengambil contoh pada teknologi yang ada seperti bahasa server side Hypertext Processor atau yang lebih dikenal dengan nama PHP. Dari waktu ke waktu terus dikembangkan oleh para developer seluruh dunia bersama-sama secara terus menerus merilis versi yang lebih baru. hal ini dimaksudkan untuk tetap menjaga stabilitas dan melengkapi kekurangan-kekurangan yang ada.
Saya kira sampai disana anda sudah memiliki gambaran. sebeneranya masih banyak fungsi-fungsi mysqli yang lain yang tidak dapat saya jelaskan satu persatu disini. tapi inti dari perubahan pada fungsi-fungsi yang sering kita gunakan sudah saya jelaskan diatas. Meski begitu, rasanya kurang afdol jika tanpa contoh studi kasus source code langsung. jadi mari kita mulai. Pada DBMS MySQL saya memiliki sebuah database dengan nama mysqli_belajar dengan sebuah tabel biodata sebagai berikut
Selanjutnya, dengan informasi terbesut saya akan membuat sebuah proses input, update dan delete kedalam tabel database menggunakan PHP dan MYSQLI. Pertama-tama saya buat dulu file koneksinya sebagai berikut.
Kemudian saya membuat sebuah form input yang akan digunakan oleh user untuk mengisikan biodatanya lalu mengklik tombol simpan untuk proses penyimpanan, tombol update untuk proses edit data. pada halaman ini juga data akan ditampilkan untuk dapat di edit dan dihapus oleh user. adapun source code lengkapnya adalah sebagai berikut.
Sejak pertama kali dirilis oleh sang pendiri Rasmus Lerdorf, sampai saat ini telah mengalami banyak perbaikan dan perubahan. sehingga suatu misal jika seorang developer telah mengembangkan aplikasi beberapa tahun lalu menggunakan versi PHP yang lama dan hendak dijalankan menggunakan PHP Interpreter yang lebih baru, bisa saja akan terdapat banyak error karena ada fungsi yang dihapus atau diganti dengan yang lebih baru.
Begitu juga dengan fungsi-fungsi yang khusus untuk berkomunikasi dengan database MYSQL, menurut website resmi PHP, ada beberapa fungsi yang akan segera berstatus Deprecated (Usang) atau tidak dikembangkan lagi. sehingga saya sangat menyarankan anda untuk segera migrasi ke yang lebih baru agar source code anda nantinya dapat berjalan di PHP yang baru. Berikut akan saya contohkan penggunaan fungsi mysqli() yang akan menggantikan fungsi mysql().
Menurut situs resminya, penulisan code mysqli, dapat dilakukan dengan 2 cara yaitu secara prosedural dan secara OOP (Objek Oriented Programming). Sama saja. Hal ini tergantung kenyamanan seorang programmer dan gaya penulisan code yang digunakan. saya sendiri lebih suka menggunakan gaya prosedural. adapun penulisan code mysql() dengan mysqli() tidaklah jauh berbeda, hanya menambahkan huruf i setelah kata mysql. sehingga setiap fungsinya kurang lebih akan menjadi seperti berikut ini.
$host = "localhost"; $user = "root"; $pass = ""; $db = "nama_db"; $sql = "SELECT * FROM data"; mysql_connect($host,$user,$pass); berubah menjadi $con = mysqli_connect($host,$user,$pass,$db); mysql_select_db($db); tidak perlu menggunakan ini di mysqli $query = mysql_query($sql); berubah menjadi $query = mysqli_query($con, $sql); mysql_num_rows($sql); berubah menjadi mysqli_num_rows($con, $sql); mysql_fetch_array($query); berubah menjadi mysqli_fetch_array($query, MYSQLI_BOTH); Jika kita perhatikan terdapat beberapa perubahan disana yaitu penambahan parameter pada setiap fungsi yaitu 1. Fungsi mysqli_connect() : penambahan parameter nama database sehingga tidak perlu lagi menggunakan fungsi mysql_select_db() 2. Fungsi mysqli_query() dan mysqli_num_rows() : penambahan parameter variabel koneksi didepan string query 3. Fungsi mysqli_fetch_array() : penambahan parameter MYSQLI_ASSOC/MYSQLI_BOTH sebagai pendefinisian dengan apa data pada tabel database akan dipanggil apakah dengan nama field, nomor field atau keduanya
Selanjutnya, dengan informasi terbesut saya akan membuat sebuah proses input, update dan delete kedalam tabel database menggunakan PHP dan MYSQLI. Pertama-tama saya buat dulu file koneksinya sebagai berikut.
<?php $host = "localhost"; $user = "root"; $pass = ""; $db = "mysqli_belajar"; $con = mysqli_connect($host,$user,$pass,$db); if ($con->connect_error){ die("Koneksi Ke MySQL GAGAL!"); } ?>
Kemudian saya membuat sebuah form input yang akan digunakan oleh user untuk mengisikan biodatanya lalu mengklik tombol simpan untuk proses penyimpanan, tombol update untuk proses edit data. pada halaman ini juga data akan ditampilkan untuk dapat di edit dan dihapus oleh user. adapun source code lengkapnya adalah sebagai berikut.
<title>INSERT UPDATE & DELETE dengan FUNGSI MYSQLI</title> <?php require_once("koneksi.php"); // Jika Edit diklik if (isset($_GET['id'])){ $id = $_GET['id']; $sql = mysqli_query($con,"SELECT * FROM biodata WHERE id='".$id."'"); if ($sql){ $dataid = mysqli_fetch_row($sql); $button = "update"; $nama = $dataid[1]; $pass = $dataid[2]; } } else { $button = "simpan"; $nama = ""; $pass = ""; } // Jika Hapus diklik if (isset($_GET['hapus'])){ $id = $_GET['hapus']; $sql = mysqli_query($con,"DELETE FROM biodata WHERE id='".$id."'"); if ($sql){ echo "<script>alert('DATA BERHASIL DIHAPUS'); window.location.href='index.php';</script>"; } else { echo "<script>alert('DATA GAGAL DIHAPUS'); history.go(-1);</script>"; } } ?> <form method="post" action=""> <input type="text" name="user" value="<?php echo $nama; ?>"/> </br> <input type="password" name="pass" value="<?php echo $pass; ?>" /> </br> <input type="submit" name="<?php echo $button; ?>" Value="SIMPAN"/> </br> </br> </form> <?php // Proses Simpan if (isset($_POST['simpan'])){ $user = htmlentities($_POST['user']); $pass = htmlentities($_POST['pass']); $sql = mysqli_query($con,"INSERT INTO biodata (id,user,pass) VALUES ('','".$user."','".$pass."')"); if ($sql){ echo "DATA BERHASIL DISIMPAN"; } else { die("GAGAL GAGAL DISIMPAN"); } } // Proses Update else if (isset($_POST['update'])){ $user = htmlentities($_POST['user']); $pass = htmlentities($_POST['pass']); $id = htmlentities($_GET['id']); $sql = mysqli_query($con,"UPDATE biodata SET user='".$user."',pass='".$pass."' WHERE id='".$id."'"); if ($sql){ echo "DATA BERHASIL DIPERBARUI"; } else { die("DATA GAGAL DIPERBARUI"); } } ?> <?php // Proses MENAMPILKAN Data $sql = mysqli_query($con,"SELECT * FROM biodata"); if ($sql){ echo "<table border='1px'>"; echo "<tr><td>No</td><td>Nama</td><td>Password</td><td>Aksi</td></tr>"; while ($tampil = mysqli_fetch_row($sql)){ echo "<tr><td>$tampil[0]</td><td>$tampil[1]</td><td>$tampil[2]</td><td><a href='index.php?id=$tampil[0]'>Edit</a> | <a href='index.php?hapus=$tampil[0]'>Hapus</a></td></tr>"; } echo "</table>"; } else { die("GAGAL MENAMPILKAN DATA"); } ?>
Posting Komentar