MeekroDB adalah sebuah library PHP MySQL yang dapat anda gunakan untuk mempersingkat/memperpendek jumlah baris statement PHP dalam melakukan query ke MySql, selain itu MeekroDB juga dapat mencegah SQL injection pada site anda.
Contohnya jika kita melakukan query mysql dengan hanya menggunakan php saja, lalu melakukan pengecekan error dan lalu ingin mengambil record pertama, maka biasanya susunan kodenya seperti dibawah ini :
$result = $mysqli->query(“SELECT * FROM accounts WHERE username=’” . $mysqli->real_escape_string($username) . “‘ AND rank=” . intval($rank));
if ($result->error) die(“Error occurred: ” . $result->error);
$user = $result->fetch_assoc();
Ternyata diperlukan 3 baris kode php, sementara itu anda harus meng-escape string, juga menggunakan fungtion intval untuk menarik nilai integer dari variabel $rank. Semakin banyak query anda maka ketiga baris kode itu juga akan semakin sering ditulis kembali. Jika kita menggunakan MeekroDB, maka ketiga baris kode diatas dapat disederhanakan menjadi hanya satu baris seperti berikut ini :
$user = DB::queryOneRow(“SELECT * FROM accounts WHERE username=%s AND rank=%i”, $username, $rank);
Berikut ini akan saya tuliskan beberapa contoh penggunaan MeekroDB dan perbandingannya jika menggunakan PHP biasa.
- select
Jika menggunakan PHP saja maka anda harus selalu meng-escape variabel jika tidak ingin terkena SQL injection, seperti contoh ini :
$mysqli->query(“SELECT * FROM login WHERE username=’” . $mysqli->real_escape_string($username) . “‘ AND password=’” . $mysqli->real_escape_string($password) . “‘”);
- insert / update
DB::insert('mytable', array( 'name' => $name, 'rank' => $rank, 'location' => $location, 'age' => $age, 'intelligence' => $intelligence ));