PHP Accessing MySQL Database Fajar Pradana S.ST., M.Eng
Requirements PHP MySql installed MySql telah running (cek xampp control panel) Database Tabel Query SQL (Structured Query Language) Script PHP untuk pengolahan database Output (HTML)
Steps Langkah yang dilakukan utk mengolah database : 1. Membuat Koneksi dengan Database 2. Memilih database 3. Membentuk perintah SQL untuk pengolahan data 4. Mengirimkan / eksekusi perintah 5. Mengakses hasil eksekusi perintah 6. Menampilkan output 7. Menutup sambungan
Contoh implementasi 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 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
Query u/ Mengelola Database 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)
Query u/ Mengelola Database (cont.) 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 u/ 1 Tabel Query satu tabel digunakan untuk mengelola data dalam satu tabel Beberapa perintah yang dapat digunakan : Fungsi Input data Modifikasi data Mengambil data Menghapus data Menghitung banyaknya data Menjumlah data Menghitung rata-rata dll Query INSERT UPDATE SELECT DELETE COUNT SUM AVG
Query u/ 1 Tabel (cont.) 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
Query u/ Banyak Tabel Kelompok Query ini digunakan untuk mengambil data dari lebih dari 1 tabel menggunakan JOIN. SELECT * FROM UserTabel JOIN Biodata ON UserTabel.idUser = Biodata.idUser
1. Koneksi ke MySQL 2. Memilih Database 3. Akses ke Table 4. Akses Record dan Field 5. Memposisikan record 6. Insert dan Delete record 11
1. Koneksi ke mysql Sebelum melakukan ases ke database mysql pekerjaan pertama adalah melakukan koneksi ke database Perintah untuk melakukan koneksi adalah : mysql_connect(host,nama_pemakai,password) Perintah untuk menutup koneksi : mysql_close(pengenal_hubungan); HASIL PROGRAM Jika koneksi gagal Statement ini akan muncul 12
2. Memilih Database Jika connect ke database berhasil, perlu memilih database Perintah untuk memilih database: mysql_select_db(data_base,pengenal_hubungan) dimana : data_base = nama database pengenal_hubungan = nama pengenal yang digunakan dalam koneksi Jika select database gagal kalimat ini tidak muncul 13
3. Akses ke table Dimisalkan telah dibuat table bernama :Tabel1 dalam database bernama coba Table yang bernama Tabel1 memiliki struktur sbb: nama varchar (20) umur int(2) Adapun data-datanya adalah: Sarjono 35 Budiman 18 Joko Waluyo 21 Bambang Sudiyono 28 Berikut tampilan struktur tabel dan data dari phpmysql STRUKTUR TABEL 14
akses ke Tabel Membuat query : mysql_query(query,h andle) Mengatahui jumlah field: mysql_num_fields (handle) Mengatahui jumlah record: mysql_num_rows (handle) HASIL PROGRAM 15
Akses tabel Untuk mengakses record hasil query: $baris=mysql_fetch_row(handle) akan mengembalikan array yang berisi seluruh kolom $baris[0], $baris[1], Hasil PROGRAM 16
4. Akses field dengan mysql_fetch_field Untuk mengakses field digunakan : mysql_fetch_field(handle, nomorkolom) Objek hasil fetch dapat diases a.l. : ->name = nama field ->max_length = lebar field HASIL 17
akses field dengan mysql_field_ Cara lain ases field adalah (nomor field : 0,1,2..) mysql_field_name(h andle,kolom) : nama field ke-(kolom+1) mysql_field_len(han dle,kolom) :lebar field ke-(kolom+1) mysql_field_type(ha ndle,kolom) : tipe field ke-(kolom+1) 18
Akses Table Menampilkan Foto Sebelumnya dibuat table Biodata dalam database coba yang berisi 2 field: nama dan Foto (untuk field foto berisi nama file dan folder foto). Siapkan foto sesuai nama fotonya STRUKTUR TABEL NYA : Tabel Biodata ISI DATA-DATA NYA JIKA DI BROWSE di phpmyadmin 19
Akses Table Menampilkan Foto Script Lengkapnya adalah 20
Daftar Table dalam database Untuk mengetahui tabel-tabel dalam database : mysql_list_tables(namadatabase) CONTOH PROGRAM Database : coba Hasilnya : Jumlah tabel :2 21
5. Memposisikan record dengan seek Memposisikan pointer pada record tertentu : mysql_data_seek(handl e,posisi) Posisi =posisi record, dimulai dari 0 untuk record pertama CONTOH: Database : Coba Tabelnya : tabel1 Hasilnya : Posisikan ke record ke - 4 22
6. Menginsert dan menghapus record Perintah SQL untuk menginsert record : INSERT INTO `namatabel` (`namafield1, `namafield2`,..) VALUES ( nilaifeild1', nilaifield2,..)"; Contoh: INSERT INTO `tabel1` (`nama`, `umur`) VALUES ('Andi', '15')"; HASIL 3 KALI 23
setelah dijalankan 10 kali Jika program insertrecord.php di eksekusi 10 kali, hasilnya 24
menghapus record Perintah SQL untuk menghapus record : DELETE FROM `namatabel` WHERE namafield = nilaifeild1 AND namafield = nilai OR ; Contoh: DELETE FROM `tabel1` WHERE `nama`= Andi menghapus semua record jika nama= Andi Setelah program dijalankan 25
Rangkuman PHP dapat mengakses database mysql dan mengakses tabel, record, field dan fungsi-fungsi manipulasi data Cara mengakses dengan mendefinisikan fungsi-fungsi mysql dalam bentuk perintah SQL Urutan pengakksesan PHP : membuat koneksi, memilih database dan memilih tabel Pada tabel yang terpilih manipulasi record seperti menginsetkan, menghapus, mengubah data dan seterusnya dilakukan 26
<?php echo thank you ;?> 27