Membangun koneksi dari PHP ke MySQL adalah dengan fungsi mysql_connect();

dokumen-dokumen yang mirip
Dengan asumsi bahwa aplikasi masih menggunakan cookie, maka query untuk membuka profil adalah seperti berikut:

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Praktikum 3 Cookie, Session, dan Database MySQL

E-trik Ajax. Database MySQL. Dedi Alnas

Basis Data I. Pertemuan Ke-12 (Aplikasi Basisdata berbasis web) Noor Ifada.

BAB X AKSES DAN MANIPULASI DATA

MODUL 10 KONEKTIVITAS PHP DENGAN MySQL

MODUL 5 KONEKTIVITAS PHP DENGAN MySQL

Checkbox dengan Foreach dan MYSQL

INTRO PHP FORM PHPMYADMIN input update delete TEMPLATE SEDERHANA

Membuat Database mysql dengan PhpMyAdmin

Membuat Login Dengan PHP dan MYSQL

P - 12 Bab 9 : PHP & MySQL

Dasar PHP-MySQL oleh : Prasaja Wikanta

PHP & MYSQL. Ingat, PC anda tidak memerlukan tambahan khusus atau apapun untuk melihat hasil eksekusi kode PHP anda. Mengapa?

TIB18 - PEMROGRAMAN WEB. Pemrograman Web Pertemuan & 21-22

Script PHP dan MySQL J A M K E E M P A T

KURSUS ONLINE JASA WEBMASTERS

Tag dasar yang akan kita gunakan untuk membuat form di HTML adalah tag form, input, textarea, select dan option.

PENGENALAN HTML - 2. Anda bisa menambahkan beberapa cell (kolom) untuk membuat satu baris cell (kolom).

Membuat Toko Buku dengan PHP - MySQL

PHP + MySQL M. RUDYANTO ARIEF, MT

BAB III IMPLEMENTASI. Program penghubung database tersebut disimpan dengan nama. konek.php. Berikut merupakan kode program penghubung Database :

Pertemuan Ke-13 (PHP & MYSQL) Adi Widodo,S.Kom.,MMSI 1

Konektivitas PHP - MySQL

Materi 10: Create Read Update Delete

Menangani Input dari User

Bagian 20. Bekerja dengan Form menggunakan PHP.

MODUL PEMROGRAMAN WEB

window.location='karyawan/homeuser.php'</script>"; }else if($c['level']=="manajer"){

b) Membuat database tiket. Siapkan databasenya dengan membuat database tiket Sampai langkah ini database tiket sudah siap digunakan

TUTORIAL PHP MYSQL Langkah Tepat menjadi Web Developer Handal, menguasai PHP dan MySQL, jalan terbaik membuat website dan aplikasi berbasis web

Cara Mudah Koneksi Php Dan Mysql Dengan Database

Create Read Update Delete using PHP MySql

P - 6 Bab 4 : HTML (Hypertext Markup Language)

Sesi Memahami berbagai ekstensi akses database

Konsep Basis Data di Web

DATABASE MYSQL DENGAN PHP

1. TUJUAN Mahasiswa dapat memahami langkah-langkah koneksi PHP dengan MySQL Mahasiswa dapat memahami pengambilan record dari database

PHP & Mysql. Pemrograman Internet

E-trik Ajax. Ajax dan MySQL. Dedi Alnas

PRAKTIKUM I MySQL / phpmyadmin

Pemrograman Web Lanjut 2017

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

SEARCHING, EDIT / UPDATE DAN DELETE. PHP & MYSQL Part Two

Mengakses database MySQL melalui PHP

Fungsi-fungsi MySql Fungsi mysql_connect. Bentuk: Membuat hubungan ke database MySQL yang terdapat pada suatu host.

Pemrograman Basis Data Berbasis Web

2. inputkk.php. 3. tampilkk.php

Advantages. Keunggulan :

TUTORIAL PHP MYSQL Langkah Tepat menjadi Web Developer Handal, menguasai PHP dan MySQL, jalan terbaik membuat website dan aplikasi berbasis web

Integrasi PHP dan MySQL Donny Reza, S.Kom

Modul Pemrograman Web Teori + Praktik PHP, XML, Ajax, Laravel

Pengenalan Perancangan Web 2017

Simak baik-baik komentar-komentar dalam setiap skrip. Komentar diawali dengan tanda #, //, atau /* dan */

Modul 5. Membuat Formulir Pada Template. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

PRAKTIKUM PHP 10. Menyimpan Data ke Database & Menampilkan Data dengan PHP

Mahasiswa memahami Pengertian Basisdata, Cara membuat basisdata, cara menginput data dan cara menampilkan data.

BAB IV HASIL DAN PEMBAHASAN. Sistem Informasi Penjualan dan Pembelian Barang Pada Toko Touring

A. Tujuan B. Dasar Teori 1. Pemrosesan Form 2. Konsep Penggunaan Tag <form> pada HTML

Nama : Maya Masyita K Nst NIM : Tugas : I ( Database berbasis Web ) Fungsi PHP-MySQL

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

MODUL 11 MEMBUAT LOGIN USER

Tutorial Membuat Program Web menggunakan PHP, MySQL, dan PHP

Pemrograman Web Lanjut 2017

MODUL 7 CRUD (CREATE, READ, UPDATE,DELETE) dibawah ini adalah fungsi PHP yang akan digunakan untuk pembuatan CRUD

DATABASE OPERATION. Pemrograman Web. Rajif Agung Yunmar, S.Kom

Pemrograman Web. HTML Lanjut. Indrato, S.Kom List. Ordered Lists (OL) Ordered List (OL) Ordered List (OL) PemrogramanWeb.

Pemrograman Basis Data Berbasis Web

Langkah 1 Struktur Folder. Langkah 2 Database. Detil Tutorial

Bondan Muliawan

TUTORIAL PHP MYSQL Langkah Tepat menjadi Web Developer Handal, menguasai PHP dan MySQL, jalan terbaik membuat website dan aplikasi berbasis web

Langkah Cara Membuat Form Login Menggunakan PHP dan MySQL Langkah 1: Membuat Tabel MySQL User/Pengguna

LAMPIRAN. 1. Listing Program pada website sekolah. index.php

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

BAB VIII PEMROSESAN FORM

Pemrograman Web Lanjut 2017

Koneksi DataBase PHP - MYSQL Nurcahyo Budi Nugroho dan Muhammad Fathoni

Lisensi Dokumen: Uraian Kasus :

PHP dan MySQL. Mempelajari koneksi PHP. Fungsi-fungsi aksesnya. Muhammad Zen Samsono Hadi, ST. MSc

Pertemuan IV. Semester 1

Conditional PRAKTIKUM PHP Conditional, Array & Perulangan di PHP

Modul Pembuatan Aplikasi Login dengan PHP dan MySQL

?> <html> <head> <link href="data/styles.css" rel="stylesheet" type="text/css"> <title>sumber Ilmu Online Bookstore</title> </head>

BAB V IMPLEMENTASI DAN PENGUJIAN. lingkungan perangkat lunak, implementasi database beserta struktur program dan

Praktikum Aplikasi Web Pertemuan -12 Mengakases MySQL dari PHP

Pengenalan Script. Definisi HTML

BAB-12 MEMBUAT FORM HTML

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

MODUL 3 HTML. (HyperText Mark-Up Language) Sub : Tabel & Form

Tutorial PHP Metode Searching - Multiple Keyword

Domain & Hosting Free By : Subianto, S.Kom

Membuat Halaman Login Dengan PHP

MODUL 7 MEMBUAT DATABASE DI MYSQL

Pemrograman Basis Data Berbasis Web

PHP dan MySQL. Mempelajari koneksi PHP dengan database MySQL dan Fungsi-fungsi aksesnya. Muhammad Zen S. Hadi, ST. MSc.

PHP Penanganan Form. Overview. 15-Jan Jenis-jenis Form Form Validation. Tag <FORM> Atribut ACTION Atribut METHOD SUBMIT BUTTON

MySQL. Pemrograman Web/MI/D3 sks 1

By Desrizal. Pengenalan AJAX

Transkripsi:

Integrasi PHP dan MySQL PHP akan mengakses database melalui web server yaitu Apache. Jika database server dan web server berada pada komputer yang sama maka koneksi akan menggunakan localhost sebagai nama komputer (hostname). Pada beberapa aplikasi, database server dapat berasal dari komputer yang berbeda yang dihubungkan dengan mengisi nama komputer tersebut, domain atau bisa juga menggunakan IP dari komputer yang dituju. Tahap pertama untuk membuat aplikasi berbasis PHP dan MySQL adalah membangun koneksi yang membutuhkan tiga elemen yaitu hostname, username dan password. Dalam hal ini adalah localhost dan user account root tanpa password (blank). Membangun koneksi dari PHP ke MySQL adalah dengan fungsi mysql_connect(); Sintaks: mysql_connect("localhost","root",""); Buatlah sebuah file dengan nama allfunctions.php dan berisikan kode berikut ini: //koneksi ke mysql server //root belum mempunyai password mysql_connect("localhost","root",""); Apabila file tersebut dijalankan dan tidak ada output yang dihasilkan maka koneksi sudah berhasil. Jika koneksi gagal maka akan terdapat notifikasi di layar. Copyright Inixindo 7-1

Untuk melengkapi perintah sebelumnya, tambahkan fungsi die() untuk terminasi program yang dapat ditambahkan dengan tulisan yang dapat dibuat sendiri untuk memberikan notifikasi di layar. mysql_connect("localhost","root","") or die("koneksi MySQL Gagal<br>"); Berikutnya adalah memilih database yang akan digunakan pada aplikasi dengan menggunakan fungsi mysql_select_db(). Sintaks: mysql_select_db("exercise"); Berikut adalah contoh program yang sudah lengkap dengan seleksi database dan langsung tambahkan fungsi die seperti contoh di atas: function koneksi(){ mysql_connect("localhost","root","") or die("koneksi MySQL Gagal<br>"); } mysql_select_db("exercise") or die("database tidak ditemukan<br>"); File ini akan dipakai pada setiap halaman/file yang membutuhkan koneksi database dan akan ditambahkan beberapa fungsi penting lainnya. Gunakan perintah include atau require untuk dapat menggunakan file ini di halaman lain dan perlu diingat bahwa tidak diperlukan tag HTML pada file ini kecuali tag HTML yang memang diperlukan seperti <br> atau <p></p> dan sebagainya. Copyright Inixindo 7-2

MySQL Query Setelah koneksi dan seleksi database sudah berhasil maka selanjutnya adalah membuat MySQL query. Query dibuat dalam sebuah string dan disimpan ke sebuah variabel PHP. Setelah dieksekusi di PHP akan langsung dihantarkan ke MySQL server. Hasil dari MySQL server disebut dengan resultset yang bisa terdiri dari 0 record, 1 record atau lebih. Untuk menjalankan query pada PHP dapat menggunakan fungsi mysql_query(); Sintaks: mysql_query("tulis query disini"); Berikut contoh query yang juga disimpan di sebuah variabel: $query = mysql_query("select * FROM members"); Variabel $query sudah menyimpan resultset dari query yang sudah dituliskan dan nantinya dapat digunakan untuk aplikasi yang lebih banyak lagi, misalnya untuk menghitung berapa banyak baris atau sekaligus mencetak di layar dengan metode fetch. Jika pada saat mengetik dan menjalankan query pada mysql command prompt tidak ada case sensitive, maka pada saat membuat query di PHP harus memperhatikan case karena PHP bersifat case sensitive. Kesalahan case pada nama kolom akan mengakibatkan record menjadi blank. Query tidak hanya dijalankan langsung di sebuah variabel namun dapat dibuat terpisah menjadi dua variabel. Metode ini digunakan apabila terdapat kondisi dengan IF-ELSE yang menentukan apakah query dijalankan atau tidak. Berikut adalah contoh query yang terpisah ke dua variabel: $query = "SELECT * FROM members"; $execute = mysql_query($query); Mencetak Tabel MySQL Copyright Inixindo 7-3

Proses mencetak record dari MySQL harus melalui metode fetch. Setelah query sudah tersimpan di sebuah variabel PHP dan dijalankan, maka selanjutnya adalah menjalankan salah satu perintah fetch dengan fetch object, fetch assoc atau fetch array. Perbedaan yang paling mendasar dari ketiga fetch tersebut adalah pada sintaks dan hasil olah datanya. mysql_fetch_object: mengembalikan result dari database menjadi objek. mysql_fetch_assoc: mengembalikan result dari database menjadi array asosiatif, dengan kata lain indeks adalah berupa nama dari kolom yang bersangkutan. mysql_fetch_array: mengembalikan result dari database menjadi array yang berupa asosiatif, numerik atau keduanya. Indeks disini dapat berupa alfanumerik atau hanya numerik (nomor baris) saja. Perbedaan lain yang dijadikan acuan untuk penggunaan fetch ini adalah performa dari ketiganya. Dengan asumsi program hendak fetch tabel yang berisi banyak record, fungsi fetch object adalah yang paling lama karena resultset dijadikan objek satu persatu tergantung jumlah kolom pada tabel yang terkait. Fungsi fetch assoc dengan fetch array sebenarnya sama saja namun khusus fetch array dapat menggunakan indeks tidak hanya tulisan nama kolom namun dapat berupa numerik. Performa dari assoc atau array yaitu dengan membuat penyimpanan (cache) terlebih dulu sehingga data akan lebih cepat terpanggil/cetak ketika halaman sudah selesai loading. Oleh karena fetch array dapat memanggil indeks berupa asosiatif (string) dan numerik, konsekuensinya adalah performa akan lebih lama dibanding assoc, terlebih lagi sintaks dari fetch assoc yang notabene menggunakan array asosiatif akan lebih mudah dikenali. Copyright Inixindo 7-4

Fetch Untuk memulai fetch data diperlukan variabel yang telah menyimpan query seperti contoh berikut: $query = mysql_query("select * FROM members"); Selanjutnya adalah membuat fungsi fetch dari variabel tersebut. Dapat memilih salah satu dari ketiga fungsi fetch yang ada: $fetch = mysql_fetch_object($query); atau $fetch = mysql_fetch_assoc($query); atau $fetch = mysql_fetch_array($query); Setelah menentukan metode fetch mana yang digunakan, berikutnya adalah membuat beberapa variabel PHP untuk menampung hasil ekstrak dari fetch sebelumnya. Berikut adalah contoh ekstraksi dari fetch object: $id $jeniskelamin $password = $fetch->id; = $fetch->nama; = $fetch->jeniskelamin; = $fetch->alamat; = $fetch->kota; = $fetch->username; = $fetch->password; Kolom ID dan Password adalah data rahasia dimana yang mengetahui hanyalah pemilik akun dan db admin saja. Hindari pencetakan/ektraksi kedua kolom tersebut pada halaman web. Untuk memastikan kedua kolom tersebut tidak dapat di-ekstrak, ubah query menjadi: $query = mysql_query(" SELECT nama,jeniskelamin,alamat,kota,username FROM members"); Berikut adalah contoh ekstrak dengan fetch assoc dan fetch array untuk membandingkan sintaks dari ketiganya: Copyright Inixindo 7-5

Fetch assoc: $id $jeniskelamin $password = $fetch[id]; = $fetch[nama]; = $fetch[jeniskelamin]; = $fetch[alamat]; = $fetch[kota]; = $fetch[username]; = $fetch[password]; Fetch array dapat berupa dua bentuk: $id $jeniskelamin $password = $fetch[id]; = $fetch[nama]; = $fetch[jeniskelamin]; = $fetch[alamat]; = $fetch[kota]; = $fetch[username]; = $fetch[password]; $id $jeniskelamin $password = $fetch[0]; = $fetch[1]; = $fetch[2]; = $fetch[3]; = $fetch[4]; = $fetch[5]; = $fetch[6]; Khusus untuk fetch array dapat memanggil indeks berupa nomor, misalkan = $fetch[1] artinya akan ekstrak dari kolom indeks-1 dan jika diterjemahkan adalah mengambil dari kolom kedua mengingat prinsip indeks adalah n-1. Kolom kedua disini bukanlah kolom kedua pada tabel sebenarnya tapi kolom kedua dari resultset query. Untuk performa yang lebih cepat, selanjutnya gunakan metode fetch assoc. Setelah fetch selesai maka record dapat dicetak seperti biasa dengan print Copyright Inixindo 7-6

atau echo. Berikut adalah versi lengkap dari program mencetak data MySQL dengan integrasi PHP dan HTML, buat dalam file baru: <!DOCTYPE HTML> <html> <head> <title>fetch</title> </head> <body> include "allfunctions.php"; koneksi(); $query = mysql_query(" SELECT nama,jeniskelamin,alamat,kota,username FROM members "); $fetch $jeniskelamin = mysql_fetch_assoc($query); = $fetch[nama]; = $fetch[jeniskelamin]; = $fetch[alamat]; = $fetch[kota]; = $fetch[username]; echo "Nama: <br>"; echo "Jenis Kelamin: $jeniskelamin<br>"; echo "Alamat: <br>"; echo "Kota: <br>"; echo "Username: <br>"; </body> </html> Program di atas ternyata hanya mencetak satu record saja. Berikutnya jika ingin mencetak seluruh record dengan tampilan yang lebih rapi, gunakan loop while dan cetak record dalam bentuk tabel HTML. Copyright Inixindo 7-7

Mencetak Record MySQL dengan Tabel HTML dan Loop Di bawah ini adalah program lengkap untuk mencetak record hasil dari query dan ekstraksi pada tabel HTML dan menggunakan loop while. Simpan file dengan nama members.php. <!DOCTYPE HTML> <html> <head> <title>fetch 2</title> </head> <body> <table width="700" border="1" cellspacing="0" cellpadding="3"> <th width="91">nama</th> <th width="91">jenis Kelamin</th> <th width="91">alamat</th> <th width="91">kota</th> <th width="94">username</th> include "allfunctions.php"; koneksi(); $query = mysql_query(" SELECT nama,jeniskelamin,alamat,kota,username FROM members"); while($fetch = mysql_fetch_assoc($query)){ = $fetch[nama]; $jeniskelamin = $fetch[jeniskelamin]; = $fetch[alamat]; = $fetch[kota]; = $fetch[username]; echo " <td></td> <td>$jeniskelamin</td> <td></td> <td></td> <td></td> "; } </table> </body> </html> Copyright Inixindo 7-8

Proses Registrasi Member Aplikasi registrasi anggota membutuhkan dua file yang berperan sebagai form untuk anggota baru dan action yang akan memproses query untuk insert ke MySQL. Buatlah file dengan nama signup.php yang berisi form registrasi dengan kode seperti berikut: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>sign Up for a new account</title> </head> <body> <form name="form1" method="post" action="src-insert.php"> <table width="600" border="0" cellspacing="5" cellpadding="0"> <td width="168" valign="top">nama Lengkap</td> <td width="417" valign="top"> <input name="nama" type="text" size="30"> </td> <td valign="top">jenis Kelamin</td> <td valign="top"> <select name="jeniskelamin"> <option value="0" selected>pilih JENIS KELAMIN</option> <option value="l">laki-laki</option> <option value="p">perempuan</option> </select> </td> <td valign="top">alamat</td> <td valign="top"> <textarea name="alamat" cols="45" rows="5"></textarea> </td> <td valign="top">kota</td> <td valign="top"> Copyright Inixindo 7-9

<select name="kota"> <option value="0" selected>pilih KOTA</option> <option value="jakarta">jakarta</option> <option value="bogor">bogor</option> <option value="depok">depok</option> <option value="tangerang">tangerang</option> <option value="bekasi">bekasi</option> </select> </td> <td valign="top">username</td> <td valign="top"><input name="username" type="text" size="30"></td> <td valign="top">password</td> <td valign="top"><input name="password" type="password" size="30"></td> </table> <p> <input type="submit" name="button" id="button" value="sign Up"> </p> </form> </body> </html> Copyright Inixindo 7-10

Detail dari form registrasi yang telah dibuat adalah: Action file yang perlu dibuat adalah src-insert.php. Form menggunakan metode Post. Form menggunakan query dari tabel cities untuk membuat komponen dynamic combo box. Komponen form telah dibuat dalam tabel HTML untuk menjaga kerapihan tampilan. Untuk membuat program insert pada file action, yang perlu diperhatikan adalah nama dari tiap komponen form: Text field nama : nama Combo box jenis kelamin : jeniskelamin Text area alamat : alamat Combo box kota : kota Text field username : username (tipe text) Text field password : password (tipe password) Kesalahan menulis nama pada file action dapat berakibat data yang masuk di satu atau beberapa komponen menjadi blank sehingga akan menjadi null atau blank record di tabel MySQL. Perhatikan juga case tiap nama karena PHP bersifat case sensitive. Untuk mempermudah pembuatan aplikasi, cukup dengan samakan nama komponen form dengan nama kolom pada MySQL misalnya text field nama untuk nantinya masuk ke kolom/field nama pada tabel members. Copyright Inixindo 7-11

Di bawah ini adalah program pada file src-insert.php yang sudah lengkap dengan PHP dan HTML: include "allfunctions.php"; koneksi(); = $_POST["nama"]; $jeniskelamin = $_POST["jeniskelamin"]; = $_POST["alamat"]; = $_POST["kota"]; = $_POST["username"]; $password = md5($_post["password"]); $query = mysql_query(" INSERT INTO members (nama,jeniskelamin,alamat,kota,username,password) VALUES('','$jeniskelamin','','','','$password') "); <!DOCTYPE html> <html> <head> <title>proses Registrasi</title> </head> <body> <p> if (!$query ) { echo "Registrasi gagal. <br> Mohon Ulangi. <br>"; $err = mysql_error(); echo $err; echo '<a href="signup.php">kembali ke halaman sebelumnya</a>'; } else { echo "Registrasi berhasil <br>"; } </p> </body> </html> Copyright Inixindo 7-12

Indeks pada variabel $_POST dapat menggunakan tanda kutip (single/double) atau tidak sama sekali. Setelah registrasi berhasil, buka kembali file members.php untuk memastikan user sudah terdaftar atau melihat di command prompt mysql dengan query select. Fungsi include dapat diletakkan dimana saja selama masih diletakkan sebelum query dijalankan oleh PHP. Kesalahan yang umum terjadi pada saat pendaftaran ini adalah kesalahan penulisan query dan kesalahan penulisan nama text field atau komponen lainnya. Misalkan ada kejadian salah menuliskan text field username maka nilai yang masuk ke variabel adalah blank dan hasilnya akan error karena kolom username pada tabel MySQL adalah Unique dan tidak boleh kosong (not null). Berhati-hati dalam menulis query karena query yang digunakan termasuk cukup rumit dengan banyaknya tanda koma, kutip dan tanda kurung. Fungsi md5() pada PHP adalah untuk membuat enkripsi MD5 pada sebuah variabel. Nilai yang akan masuk ke database adalah nilai yang sudah terenkripsi. Copyright Inixindo 7-13