Sebagai seorang programmer PHP, tentunya Anda sudah tidak asing lagi dalam menggunakan fungsi mysql_query(). Namun, tahukah kalian bahwa fungsi ini sudah dinyatakan DEPRECATED.
DEPRECATED atau
dalam bahasa Indonesia kita arti kan usang. Pada situ tersebut dinyatakan bahwa
fungsi mysql_query akan mulai dihilangkan pada versi PHP 5.5 keatas. Fungsi ini akan digantikan dengan fungsi
mysqli_query atau PDO_query().
Lalu apa alasan pengembang PHP meninggalkan fungsi
mysql_query ??, berdasarkan informasi yang penulis himpun, berikut adalah
alaasn mysql_query ditinggalkan :
- Mysql_query tidak mendukung fitur terbaru pada mysql seperti Prepared statement, Transaction, Compression, Stored Procedure dan enkripsi
- Mysql_query tidak menyediakan antarmuka berorientasi objek
- Mysql_query rentan terhadap serangan SQL Injection
Info lebih lengkap
dapat dilihat pada (http://www.php.net/manual/en/mysqlinfo.api.choosing.php)
Berdasarkan alasan tersebut, maka diciptakan lah
mysqli_query dan PDO_query.
Berikut adalah perbedaan kedua fungsi tersebut.
- · mysqli_query dapat ditulis dengan cara structural maupun Object Oriented
- · PDO_query harus ditulis dengan Object Oriented
Karena kebanyakan dari kita masih
menggunakan penulisan structural, maka pada tutorial kali ini penulis hanya
akan membahas cara penulisan fungsi MySQL menggunakan mysqli_connect().
Pertama-tama, siapkan sebuah database dengan
nama db_ecommerce
yang memiliki table seperti dibawah ini :
Lalu sisipkanlah beberapa data
pada table yang kita buat seperti dibawah ini :
Nah,
sampai disini semua persiapan sudah siap, selanjutnya adalah membuat file PHP
dengan nama contohstruktural.php. File ini bertujuan untuk menuliskan cara
penulisan menggunakan proses struktural (cara ini cocok untuk melakukan migrasi
kode lama kita yang sudah terlanjut di hosting.
<?php
//MEMBUAT KONEKSI SEKALIGUS MEMILIH DATABASE
$konek=mysqli_connect("localhost","root","","db_ecommerce") or die(mysqli_error());
?>
<table width="800" border="1" cellspacing="0" cellpadding="4">
<tr>
<td>No</td>
<td>Kode</td>
<td>Nama Barang</td>
<td>Kategori</td>
<td>Harga</td>
<td>Aksi</td>
</tr>
<?php
$sql="select barang.*, kategori.nama_kategori from barang, kategori where kategori.id_kategori=barang.id_kategori order by nama_barang ";
$query=mysqli_query($konek,$sql) or die(mysql_error());
while($data=mysqli_fetch_array($query)){
$n++;
?>
<tr>
<td><?php echo $n; ?></td>
<td><?php echo $data['id_barang']; ?></td>
<td><?php echo $data['nama_barang']; ?></td>
<td><?php echo $data['nama_kategori']; ?></td>
<td><?php echo $data['harga']; ?></td>
<td><a href="ubahbarang.php?id_barang=<?php echo $data['id_barang']; ?>" >Ubah</a> -
<a href="hapusbarang.php?id_barang=<?php echo $data['id_barang']; ?>" >hapus</a></td>
</tr>
<?php
}
?>
</table>
Bagi anda yang terbiasa menggunakan object oriented, maka Anda dapat mengetikannya dengan cara seperti beikut ini :
<?php
$mysqli = new mysqli("localhost", "root", "", "db_ecommerce")or die(mysqli_error());
?>
<table width="800" border="1" cellspacing="0" cellpadding="4">
<tr>
<td>No</td>
<td>Kode</td>
<td>Nama Barang</td>
<td>Kategori</td>
<td>Harga</td>
<td>Aksi</td>
</tr>
<?php
$sql="select barang.*, kategori.nama_kategori from barang, kategori where kategori.id_kategori=barang.id_kategori order by nama_barang ";
$query=$mysqli->query($sql);
while($data=$query->fetch_array()){
$n++;
?>
<tr>
<td><?php echo $n; ?></td>
<td><?php echo $data['id_barang']; ?></td>
<td><?php echo $data['nama_barang']; ?></td>
<td><?php echo $data['nama_kategori']; ?></td>
<td><?php echo $data['harga']; ?></td>
<td><a href="ubahbarang.php?id_barang=<?php echo $data['id_barang']; ?>" >Ubah</a> -
<a href="hapusbarang.php?id_barang=<?php echo $data['id_barang']; ?>" >hapus</a></td>
</tr>
<?php
}
?>
</table>
Nah..sampai disini sudah tahu perbedaan dan cara penulisannya
bukan??
Jika sudah, tiba saatnya bagi kita untuk mulai melakukan
update kode pada website website yang pernah kita buat sebelum keduluan oleh
pihak hosting yang melakukan update versi PHP. Karena apa?? Karena dipastikan
website kita akan mengalami banyak error karena mysql_query yang deprecated.
Sekian untuk tutorial kali ini, Keep learn guys! Download Souce Code
Doanlad Buku Elektronik