Semenjak php versi 5 (lima) sudah ada pemberitahuan bahwa akan ada perubahan atau update menghilangkan fungsi mysql, seperti mysql_connect() dan lainnya.
Untuk pemula yang sudah terlanjur belajar dengan gaya pemrograman yang lebih dahulu tentu akan susah move on ke extention mysql yang baru, yakni MySQLi.
Mengapa kita harus mengupdate ke MySQLi? Apakah harus, iya jawabannya bayangkan saja jika kita membuat sebuah program dengan extention mysql tiba-tiba hosting / server kita mengalami update ke versi php yang lebih baru maka seluruh kode kita akan error.
kasihaan sekali dan bikin capek.
Pada php versi 7 seluruh extention mysql sudah benar-benar dihapus. Maka kita harus belajar membuat program dengan kode kode mysqli. Lalu bagaimana caranya jika sudah terlanjur membuat program dengan extention mysql? jawabnya kita bisa melihat bagian mana saja yang berganti dan kita replace dengan function yang baru (mengupdate script).
Sebenarnya jika kita tidak ingin pindah dari extention mysql ke mysqli, kita bis menggunakan PDO (Object Oriented Programming), tapi jika anda lebih sering belajar diprosedural, maka akan sulit lagi belajar PDO. Ini hanya pendapat, karena IQ kita berbeda-beda. Saya sendiri belajar PDO baru belakangan ini, dan menyukai program berbasis MVC seperti halnya Framework Codeigniter.
Kembali ke pembahasan
Cara Cepat dan Mudah Convert MySQL ke MySQLi, bagaimana caranya? Ayo kita simak penjelasan dari sedot code berikut ini;
Perubahan MySQL ke MySQLi
mysql_affected_rows -> mysqli_affected_rows($link)
mysql_close -> mysqli_close($link)
mysql_data_seek -> mysqli_data_seek( $result, $offset)
mysql_errno -> mysqli_errno( $link)
mysql_error -> mysqli_error( $link)
mysql_fetch_array -> mysqli_fetch_array( $result, $type)
mysql_fetch_assoc -> mysqli_fetch_assoc( $result)
mysql_fetch_lengths -> mysqli_fetch_lengths( $result )
mysql_fetch_object -> mysqli_fetch_object( $result, $class, $params)
mysql_fetch_row -> mysqli_fetch_row( $result)
mysql_field_seek -> mysqli_field_seek( $result, $number)
mysql_free_result -> mysqli_free_result(result)
mysql_get_client_info -> mysqli_get_client_info( $link)
mysql_get_host_info -> mysqli_get_host_info( $link)
mysql_get_proto_info -> mysqli_get_proto_info( $link)
mysql_get_server_info -> mysqli_get_server_info( $link)
mysql_info -> mysqli_info( $link)
mysql_insert_id -> mysqli_insert_id( $link)
mysql_num_rows -> mysqli_num_rows( $result)
mysql_ping -> mysqli_ping( $link)
mysql_query -> mysqli_query( $link, $query)
mysql_real_escape_string -> mysqli_real_escape_string( $link)
mysql_select_db - > mysqli_select_db( $link, $database)
mysql_set_charset -> mysqli_set_charset( $link, $charset)
mysql_stat -> mysqli_stat( $link)
mysql_thread_id -> mysqli_thread_id( $link)
Terlihat di atas adalah extention mysql yang harus kita replace dengan mysqli. Namun ingat harus benar hati-hati, karena mysqli menggnakan beberapa parameter ($link), merupakan koneksi kedalam database kita.
Untuk lebih lengkap silahkan sedot list berikut ini ->
KLIK
Kode yang harus di ubah pertama kali adalah kode untuk koneksi ke dalam database mysql. Perhatikan kode berikut ini:
MySQL-> mysql_connect() dan mysql_select_db()
koneksi.php
<?php
$link= mysql_connect( 'host', 'username', 'password', new_link,flags);
$database = mysql_select_db( 'database', $link);
Maka akan kita ubah menjadi seperti ini:
<?php
$link= mysqli_connect( 'host', 'username', 'password');
$database = mysqli_select_db($link, 'database');
Sangat mudah bukan? kita hanya mereplace kode-kode yang deprecated dengan kode yang baru. Namun sudah saya sampaikan bahwa kita harus hati-hati dengan yang ada parameter seperti
mysqli_select_db( $link, $database)
Jika sudah menggati script koneksi kedalam database, maka tentu semua kode akan error, oleh sebab itu kita harus mengganti semua kode, jika di buka satu persatu filenya akan merepotkan sekali ya. Berikut cara yang sedott codee terapkan.
Cara Cepat dan Mudah Convert MySQL ke MySQLi
- Dengan Menggunakan NotePad++
- Dengan Menggunakan Sublime Text
- Dengan script MySQLConverterTool
Kita akan bahas satu persatu cara mengubah mysql ke mysqli, pertama yakni dengan notepad++. sebenarnya ini intinya search dan replace saja.
1. Dengan Menggunakan NotePad++
1. Pertama, buka dulu lokasi folder yang akan kita ubah.
|
lokasi folder |
2. Masukkan dikolom pencarian (*.php) tanpa kurung (untuk pengguna windows)
|
(*.php) |
3. Select All (CTRL+A) , klik kanan open with notepad++
|
open with notepad++ |
4. CTRL+H Find dan Replace
|
Find dan Replace |
Perhatian, jika disimak pada gambar di atas, kita baru saja mereplace function mysql_affected_rows
dengan function mysqli_affected_rows yang mempunyai parameter ($link). Variabel $link ini adalah link koneksi kedalam database, lihat script koneksi.php diatas.
Selanjutnya, cari lagi function mysql yang sudah ada di daftar di atas dan replace seperti gambar. Dan yang terakhir jangan lupa simpan
5. SAVE ALL (CTRL+SHIFT+S)
2. Dengan Menggunakan Sublime Text
Dengan menggunakan sublime, ini menurut saya lebih enak lagi, silahkan simak caranya berikut ini:
1. Buka dulu sublime
2. Klik menu File -> Open Folder
3. Cari lokasi folder, kemudian Select Folder
4. Klik menu Find -> Find in Files
|
Find in Files |
5. Silahkan Search dan Replace
6. Simpan, Klik File -> Save All
3. Dengan script MySQLConverterTool
Ini sepertinya lebih gampang lagi alias lebih mudah da simple. Caranya
2. Ekstrak kedalam folder root anda (htdoc) xampp
3. Akses dengan cara localhost/namafolder_MySQLConverterTool, ENTER
|
MySQLConverterTool |
4. Silahkan sesuai kebutuhan teman-teman. Dalam kasus ini memilih Convert a directory. Dan tampilan form-nya seperti berikut ini:
|
MySQLConverterTool |
5. Copy direktori project kalian yang masih menggunakan PHP MySQL dan Paste ke kolom Directory lalu abaikan untuk yang lain. Kecuali untuk pilihan Update files? Pilih yes dan secara otomatis Backup files? Tercentang (Ini rekomendasi aja apabila kalian masih butuh yang lama).
Dan file yang di backup tadi apabila nama file sebelumnya config.php maka akan berubah menjadi config.php.org.
6. Klik Start the conversion > dan tunggu beberapa saat hingga proses selesai. Apabila ada keterangan warning silahkan diperbaiki secara manual. Karena disitu akan diberi petunjuk, walaupun pada dasarnya ketika dijalankan web aplikasi kalian tidak terjadi apa-apa (Rekomendasi diperbaiki untuk jaga-jaga).
7. Done....
Demikian bagaimana cara mengubah mysql ke mysqli, semoga teman-teman tidak ada kendala. Silahkan dicoba. dan untuk kamu yang suka copassss, kamuuu ya kamuu, jangan kopas semuanya lahhh, saya selaku admin sedot code sudah begitu capek menghapus link copasan kalian dari google.