Widhy Hayuhardhika NP, S.Kom PHP – MySql installed MySql telah running (cek xampp control panel) Database Tabel Query SQL (Structured Query Language) Script PHP untuk pengolahan database Output (HTML) Langkah yang dilakukan utk mengolah database : 1. 2. 3. 4. 5. 6. 7. Membuat Koneksi dengan Database Memilih database Membentuk perintah SQL untuk pengolahan data Mengirimkan / eksekusi perintah Mengakses hasil eksekusi perintah Menampilkan output Menutup sambungan Form login Pengambilan data login user di database dan mencocokan dengan data input dari user List tabel Menampilkan data dalam sebuah tabel (mis: tabel daftar mahasiswa) Detail data Menampilkan data detail dari sebuah tabel (mis: detail biodata mahasiswa berdasarkan NIM tertentu) dll SQL (Structured Query Language) adalah bahasa yang khusus digunakan untuk mengoperasikan database. Untuk memudahkan, SQL query dapat dikelompokkan menjadi tiga jenis : Query untuk mengelola data Query untuk mengakses data dalam 1 tabel Query untuk mengakses data lebih dari 1 tabel SQL Manager : Software yang digunakan untuk mengolah database dalam server PHPMyAdmin SQLyog EMS Yang termasuk dalam kelompok query ini adalah : Membuat database Menghapus database Membuat tabel Memodifikasi tabel Menghapus tabel Menambah user (user database) Mengatur permission (user database) Menghapus user (user database) Membuat database CREATE DATABASE <nama database> Menghapus database DROP DATABASE Membuat tabel CREATE TABLE userTable( UserId INT (3), UserName VARCHAR (50), Password VARCHAR (50), NamaLengkap VARCHAR (50) ); Menghapus tabel DROP TABLE <nama tabel>; Query satu tabel digunakan untuk mengelola data dalam satu tabel Beberapa perintah yang dapat digunakan : Fungsi Query Input data INSERT Modifikasi data UPDATE Mengambil data SELECT Menghapus data DELETE Menghitung banyaknya data COUNT Menjumlah data SUM Menghitung rata-rata AVG dll SQL INSERT INSERT INTO userTable VALUES ( 1, ‘username', ‘password', ‘Username testing' ); SQL UPDATE UPDATE userTable SET password=’test’ WHERE UserName=’username’ SQL SELECT SELECT * FROM UserTable WHERE UserId=1 SQL DELETE DELETE FROM UserTable WHERE NamaLengkap=’Username Testing’ Kelompok Query ini digunakan untuk mengambil data dari lebih dari 1 tabel menggunakan JOIN. SELECT * FROM UserTabel JOIN Biodata ON UserTabel.idUser = Biodata.idUser $dbServer = "localhost"; $dbUser = “root"; $dbPass = ""; $dbConn = mysql_connect($dbServer, $dbUser, $dbPass); Variabel $dbConn akan berisi “resource” koneksi yang sedang aktif setelah dilakukan connect $dbName = “testingDB"; mysql_select_db($dbName); Perintah (SQL) ditamping dalam sebuah variabel String $query = “INSERT INTO userTable VALUES ( 1, ‘username', ‘password', ‘Username testing' );” Setelah menyusun SQL dalam String, dilakukan eksekusi perintah SQL : $hasil = mysql_query($query); if($hasil){ echo(mysql_affected_rows()." orang ditambahkan ke dalam sistem"); } Mengetahui jumlah data hasil query : $jumlahHasil = mysql_num_rows($hasil); Mengambil data hasil query : $data = mysql_fetch_array($hasil); Perintah tsb akan mengambil data (1 baris data) dan akan mengembalikan false jika baris telah habis, maka untuk mengambil seluruh data digunakan looping : while($row = mysql_fetch_array($result)){ //perintah yang dilakukan $datas[] = $row; } Mengambil data dalam bentuk array : $passDb = $data[“Password”]; Nilai kembalian dari mysql fetch_array adalah berupa array (1 dimensi / multi dimensi) Dapat digunakan kombinasi antara looping dan array untuk membentuk tampilan output HTML dari data. Contoh : <table border="1"> <tr> <th>Nama</th> <th>NIM</th> <th>Jenis Kelamin</th> </tr> <?php foreach($mahasiswa as $item) : ?> <tr <?php echo ($item['jenis_kelamin']=='perempuan') ? 'style="color: red;"' : "" ?>> <td><?php echo $item['nama'] ?></td> <td><?php echo $item['nim'] ?></td> <td><?php echo $item['jenis_kelamin'] ?></td> </tr> <?php endforeach ?> </table> Perhatikan kompleksitas query Semakin kompleks query yang digunakan, semakin lama waktu eksekusi Perhatikan koneksi open-close Non-presistent connection mencegah beban berlebihan di server Beban di server berbanding lurus dengan jumlah user yang mengakses Perhatikan sekuritas Hindari kemungkinan sql-injection Escape characters