Saturday, March 23, 2019

Pahami Perbedaan MYSQL dan MYSQLi Dari Seluruh Sisi

Perbandingan MYSQL dan MYSQLi dan perbedaan mysql dan mysqli dalam php

Seperti yang sudah kita ketahui, bahwa hosting sekarang sudah tidak mendukung php versi lawas yang menggunakan ekstensi mysql, terlebih pada versi php sekarang mysql sudah benar-benar dihilangkan, berbeda dengan versi 4 atau 5 yang bisa dipakai keduanya. Ini karena perbedaan syntax mysql dan mysqli berbeda pada strukturalnya

Pengertian Mysqli

Mysqli adalah versi OOP dari ekstensi mysql walau pada akhirnya mysqli dan mysql memiliki tujuan yang sama yaitu ekstensi yang berinteraksi dengan mysql dari PHP. dan MYSQLi merupakan bagian dari Versi terbaru PHP yaitu PHP 7

Mysqli adalah kependekan atau singkatan dari mysql Improved, yaitu versi mysql yang ditingkatkan. Mysqli mendukung beberapa hal, dimana dalam ekstensi mysql lama belum mendukung

MYSQL VS MYSQLi

Tentu antara script mysqli dan mysql pada PHP memiliki perbedaan baik dalam structural, maupun kehandalan yang pastinya lebih baik dari pada mysql versi terdahulu. jika anda bertanya mana yang lebih baik antara mysql dengan mysqli? maka jawabannya tentu yang lebih baik adalah versi PHP 7 yaitu mysqli

Disini akan dibahas beberapa contoh sederhana perbedaan penulisan atau perbedaan script php dengan mysql dan mysqli yang harus kamu tahu sebagai panduan untuk berimigrasi dari mysql ke mysqli yang sudah menjadi syarat utama dari PHP7

Contoh-contoh perbedaan penulisan script PHP mysql dan mysqli


Penggunaan Ekstensi Mysql dan Mysqli

Hal yang paling utama adalah penggunaan ekstensinya, jadi semua mysql diganti dengan mysqli
Contoh:

PADA Syntax MYSQL

Mysql_conncet
Mysql_query
Mysql_select_db
Mysql_error
Mysql_close
….

PADA Syntax  MYSQLi
Mysqli_connect
Mysqli_query
Mysqli_select_db
Mysqli_error
Mysqli_close
….

Pendefenisian Koneksi ke Database

Ini adalah hal kedua dalam berimigrasi dari mysql ke mysqli, pada bagian koneksi baik itu kedatabsenya ada perbedaan yang sederhana, namun sangat berarti. Biasanya pada koneksi anda bisa dengan @mysql atau memberikan dengan variable $conn, $con, $koneksi, $link, dan lain sebagainya, ini tidak jadi masalah karna variable saja, jadi kita ambil contoh satu yaitu $con.

Perbedaan Codingan mysql dan Mysqli pada Peng-Koneksian Ke Database


Contoh 1 dengan mendeklarasikan Variable

$host=”localhost”;
$user=” root”;
$pass=” anakit”;
$db=”db_anakit”;
PADA Syntax MYSQL

Tanpa Variable Pengenal
@mysql_connect($host, $user, $pass) or die (“Error message..”);
@mysql_select_db($db);

Dengan Variable Pengenal
$con=mysql_connect($host, $user, $pass) or die (“Error message..”);
$db=mysql_select_db($db);

PADA Syntax MYSQLI

Tanpa Variable Pengenal
@mysqli_connect($host, $user, $pass,$db) or die (“Error message..”);

Dengan Variable Pengenal
$con=mysqli_connect($host, $user, $pass,$db) or die (“Error message..”);

Atau

$con=mysqli_connect($host, $user, $pass) or die (“Error message..”);
$db=mysqli_select_db($con,$db);


Contoh 2 Tanpa  mendeklarasikan Variable

PADA Syntax  MYSQL

@mysql_connect(“localhost”, “root”, “anakit”) or die (“Error message..”);
@mysql_select_db(“db_anakit”);
atau
$con=mysql_connect(“localhost”, “root”, “anakit”)  or die (“Error message..”);
$db=mysql_select_db(“db_anakit”);

PADA Syntax MYSQLi

@mysqli_connect(“localhost”, “root”, “anakit”,”db_anakit”) or die (“Error message..”);
atau
$con=mysql_connect(“localhost”, “root”, “anakit”,”db_anakit”)  or die (“Error message..”);


Pada mysqli, memungkinkan anda untuk menentukan nama basis data (database) sebagai parameter ke keempat dari mysqli_connect, namun juga tetap anda bisa menggunakan mysqli_select_db jika anda mau, namun akan agar ribet, karena apa? Coba perhatikan dibawah ini:

Perhatikan: perlu diketahui, jika dalam mysqli, semua yang yang memerlukan ekstensi mysqli_* fungsi memerlukan tautan basisdata terlebih dahulu untuk dilewati.

Misalnya:
Mysql_query($query)
Atau 
Mysql_query($query,$con)

Menjadi
Mysqli_query($con,$query)

Contoh lain :
Mysql_select_db(“anakit”);

Menjadi
Mysql_select_db($con,”anakit”);

Biar lebih jelas, perhatikan contoh script Mysqli berikut

Dengan MYSQLi

<?php
include('connect.php');
$username = $_POST['username'];
$password = $_POST['password'];
$login ="select * from user where username='$username' and password='$password'";
$query= mysqli_query($conn,$login);
$cek = mysqli_num_rows($query);
if($cek > 0){
    $data = mysqli_fetch_assoc($query);
    if($data['role']=="1"){
        header("location:home.php");
    }else if($data['role']=="2"){
        header("location:home2.php");
    }else{
            echo "<h1> Username dan Password tidak sesuai !</h1>";
    }   
}else{
            echo "<h1>    Username dan Password tidak sesuai !</h1>";
}
?>


Ini adalah script validasi login dengan Mysqli di PHP yang sederhana, perhatikan pada $query, disana perlu adanya koneksi ke basis data telebih dahaulu yaitu $conn dan kemudian diikuti dengan $login.

Atau mungkin anda menggunakan bentuk script yang querynya digabung langsung dengan select data, update data, delete data Itu semua menggunakan query. 


Jadi dibawah ini saya rangkumkan hal-hal sederhana untuk berimigrasi dari mysql ke myqli

Mysql_connect --> mysqli_conncet
Mysql_select_db($db) --> Mysqli_select_db($con, $db)
Mysql_error --> mysqli_error
Mysql_query(…) --> mysqli_query($con , ….)
Mysql_fetch_assoc --> mysqli_fetch_assoc
Mysql_ --> mysqli_
Oia, ada pernah juga penyampaikan bahwa pada php versi lawas bisa dengan penulisan blok phpnya seperti beikut.

<?
Script/Syntax/Codingan MYSQL…
?>

Namun dia menyampaikan pada versi php 7 tidak bisa lagi digunakan cara penulisan blok php seperti itu. Saya tidak begitu tahu akan hal tersebut, karena dari dulu memang sudah menuliskan blok php bentuk umum yang samapi sekarang masih digunakan yaitu

<?php
Script/Syntax/Codingan MYSQLi…
?>
Nah, mungkin itu adalah sebagai tambahan bagi teman-teman yang mungkin ada permasalahannya seperti itu. yaitu ketika menggunakan PHP Mysqli harus mengikuti perkembangan atau peningkatan dari mysql ke mysqli..

Mungkin hanya demikian tentang perbedaan mysqli dan mysql script dalam php, dimana ini bisa membantu kamu dalam berimigrasi dari mysql ke mysqli. 




EmoticonEmoticon