salah satu cara perbaikan yang diperlukan adalah beralih menggunakan PHP Data Object, bagi programmer web PHP yang terbiasa menggunakan ekstensi MySQL ataupun MySQLi untuk mengelola database,sudah saatnya beralih ke PHP Data Object(PDO). Apa itu PDO ?. PDO adalah ekstensi PHP yang berfungsi sebagai data-access abstraction layer , maksudnya apapun sistem database yang kita gunakan, fungsi atau method untuk meminta(query) maupun mengambil data tetap sama(php.net). sehingga kita dapat berpindah - pindah sistem database tanpa khawatir menata ulang kode SQL yang telah ditulis, yang diperlukan hanya lah mengubah string koneksi sesuai dengan sistem database yang kita gunakan.
berikut contoh penggunaan PDO dengan database MySQL:
//contoh koneksi
$username =Â 'username;
$passwd = 'password pilihan';
$host = 'nama host';
$dsn='mysql:host='.$host.';dbname=' . $dbname;
try {
$db = new PDO($dsn, $username, $passwd);
}
Contoh di atas adalah cara membuat koneksi ke database MySQL dengan PHP Data Object(PDO). untuk proses query(meminta) agar terhindar dari SQL Injection bisa kita gunakan prepared statement. Mari kita amati contoh kode berikut ini:
//Query data yang dilewatkan oleh URL dengan method $_GET
$id = isset($_GET['id'']) ? abs((int) $_GET['id']) : 0;
$sql = "SELECT id_kustomer, nama_lengkap, alamat, email, password, phone FROM kustomer
WHERE id = :id";
$k = $db -> prepared($sql);
$k -> bindParam(":id" $id);
$k -> execute();
kode diatas dapat menghindarkan proses bad query yang dilakukan hacker maupun cracker pada kasus SQL Injection.
referensi lebih lanjut dapat kita baca di:
http://www.phpindonesia.net/artikel/pdophp-data-object-crud
http://php.net/manual/en/book.pdo.php