pertemuan 8

advertisement
 BASIS DATA DI PHP
∞ MYSQL
∞ API (APPLICATION
PROGRAMMING
INTERFACE)
∞ IMPLEMENTASI PHP
DAN MYSQL
{: Zaenal Abidin :}
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Database Untuk PHP
• Informix
• DB2
• MySQL
• Oracle
• PostgreSQL
• Sybase
• DLL
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Pengantar

MySQL merupakan server basis data yang menggunakan teknik
relasional untuk menghubungkan antara tabel-tabel dalam basis data.
MySQL dikeluarkan secara gratis dibawah lisensi GNU General Public
License (GPL) seperti halnya PHP, sehingga tepatlah kiranya bila MySQL
dijodohkan dengan PHP untuk merancang halaman web yang dinamis
yang handal.

MySQL juga menyediakan source programnya secara terbuka (open
source) sehingga orang lain dapat mengubah atau menambah
kemampuan dari MySQL untuk keperluan khusus secara pribadi.
Dikarenakan kemampuannya yang handal (robust) dan didukung
dengan system multi-user (banyak pemakai) dan multi-thread
(beberapa prosedur dalam proses dijalankan secara bersama), maka
MySQL dapatlah bersaing dengan beberapa produk server basis data
commercial seperti MS Server 7, Oracle dll
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
MySQL
 MySQL adalah sebuah perangkat lunak sistem
manajemen basis data SQL (bahasa Inggris:
database management system) atau DBMS yang
multithread, multi-user, dengan sekitar 6 juta
instalasi di seluruh dunia. MySQL AB membuat
MySQL tersedia sebagai perangkat lunak gratis
dibawah lisensi GNU General Public License
(GPL), tetapi mereka juga menjual dibawah
lisensi komersial untuk kasus-kasus dimana
penggunaannya tidak cocok dengan
penggunaan GPL.
(http://id.wikipedia.org/wiki/MySQL)
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Basis Data MySQL
 DDL - Data Definition Language
 Merupakan kumpulan perintah SQL yang digunakan
untuk membuat, mengubah dan menghapus struktur
dan definisi metadata dari objek-objek database.
 DML - Data Manipulation Language
 Merupakan kumpulan perintah SQL yang digunakan
untuk proses pengolahan isi data di dalam table
seperti memasukkan, merubah dan menghapus isi
data - dan tidak terkait dengan perubahan struktur
dan definisi tipe data dari objek database.
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
DDL

Pembuatan (CREATE)








CREATE DATABASE
CREATE FUNCTION
CREATE INDEX
CREATE PROCEDURE
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
Perubahan (ALTER &
RENAME)






ALTER DATABASE
ALTER FUNCTION
ALTER PROCEDURE
ALTER TABLE
ALTER VIEW
RENAME TABLE

Penghapusan (DROP)
 DROP DATABASE
 DROP FUNCTION
 DROP INDEX
 DROP PROCEDURE
 DROP TABLE
 DROP TRIGGER
 DROP VIEW
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
DML










CALL
DELETE
DO
HANDLER
INSERT
LOAD DATA INFILE
REPLACE
SELECT
TRUNCATE
UPDATE
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Mengakses MySQL
 Untuk mengakses MySQL dari client
menggunakan phpmyadmin dengan
mengetikan “localhost/phpmyadmin” pada
browser
 Menggunakan Comand Prompt
 Menggunakan GUI MySQL yang lain :




MySQL Front
Heidi SQL
Navicat
DLL
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
API (Aplication Programming
Interface)
 Aplication Programing Interface atau biasa
disingkat API, merupakan sekumpulan
perintah, fungsi dan protocol yang disediakan
oleh sistem komputer atau Library program
yang berfungsi untuk mensupport sebuah
program berkomunikasi dengan Sistem
Operasi atau hardware, sebuah sistem
aplikasi.
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
API MySQL
ext / mysqli
PDO_MySQL
ext / mysql
5.0
5.1
2.0
Termasuk dengan PHP 5.x Ya
Ya
Ya
Status pengembangan
Aktif
Aktif
Pemeliharaan hanya
Siklus Hidup
Aktif
Aktif
Usang
Direkomendasikan untuk
proyek-proyek baru
Ya
Ya
Tidak
OOP Antarmuka
Ya
Ya
Tidak
Antarmuka prosedural
Ya
Tidak
Ya
API mendukung nonblocking, permintaan
asynchronous dengan
mysqlnd
Ya
Tidak
Tidak
Versi PHP diperkenalkan
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
API MySQL
Koneksi Persistent
Ya
Ya
Ya
API mendukung Karakter
Ya
Ya
Ya
API mendukung Laporan
Disiapkan server-side
Ya
Ya
Tidak
API mendukung Laporan
Disiapkan client-side
Tidak
Ya
Tidak
API mendukung Stored
Prosedur
Ya
Ya
Tidak
API mendukung Beberapa
Laporan
Ya
Paling
Tidak
API mendukung Transaksi
Ya
Ya
Tidak
Transaksi dapat dikontrol
dengan SQL
Ya
Ya
Ya
Mendukung semua MySQL
5.1 + fungsi
Ya
Paling
Tidak
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Fungsi API MySQL













mysql_affected_rows - Dapatkan jumlah baris yang terkena dampak dalam operasi MySQL
sebelumnya
mysql_client_encoding - Mengembalikan nama dari set karakter
mysql_close - Tutup koneksi MySQL
mysql_connect - Buka koneksi ke Server MySQL
mysql_create_db - Buat database MySQL
mysql_data_seek - Pindahkan hasil pointer internal yang
mysql_db_name - Mengambil nama database dari panggilan untuk mysql_list_dbs
mysql_db_query - Memilih database dan mengeksekusi query di atasnya
mysql_drop_db - Jatuhkan (menghapus) database MySQL
mysql_errno - Mengembalikan nilai numerik dari pesan kesalahan dari operasi MySQL
sebelumnya
mysql_error - Mengembalikan teks pesan kesalahan dari operasi MySQL sebelumnya
mysql_escape_string - Escapes string untuk digunakan dalam sebuah mysql_query
mysql_fetch_array - Ambil hasil baris sebagai array asosiatif, array numerik, atau keduanya
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Fungsi API MySQL














mysql_fetch_assoc - Ambil hasil baris sebagai array asosiatif
mysql_fetch_field - Dapatkan informasi kolom dari hasil dan kembali sebagai
obyek
mysql_fetch_lengths - Dapatkan panjang setiap output hasil
mysql_fetch_object - Ambil hasil baris sebagai obyek
mysql_fetch_row - Dapatkan hasil baris sebagai array enumerated
mysql_field_flags - Dapatkan bendera yang terkait dengan bidang yang
ditentukan dalam hasil
mysql_field_len - Mengembalikan panjang dari bidang tertentu
mysql_field_name - Dapatkan nama field dalam hasil
mysql_field_seek - Mengatur hasil pointer ke suatu field diimbangi
mysql_field_table - Dapatkan nama tabel bidang tertentu dalam
mysql_field_type - Dapatkan jenis bidang tertentu dalam hasil
mysql_free_result - Free hasil memori
mysql_get_client_info - Dapatkan info client MySQL
mysql_get_host_info - Dapatkan info host MySQL
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Fungsi API MySQL
 mysql_get_proto_info - Dapatkan MySQL Info protokol
 mysql_get_server_info - Dapatkan MySQL server info
 mysql_info - Dapatkan informasi mengenai permintaan







terbaru
mysql_insert_id - Dapatkan ID yang dihasilkan dalam query
terakhir
mysql_list_dbs - Daftar database yang tersedia pada server
MySQL
mysql_list_fields - Daftar bidang tabel MySQL
mysql_list_processes proses Daftar MySQL mysql_list_tables tabel Daftar di database MySQL mysql_num_fields - Dapatkan sejumlah bidang dalam hasil
mysql_num_rows - Dapatkan jumlah baris dalam hasil
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Fungsi API MySQL
 mysql_pconnect - Buka koneksi terus-menerus ke server MySQL
 mysql_ping - Ping koneksi server atau menyambung kembali jika









tidak ada koneksi
mysql_query - Kirim query MySQL
mysql_real_escape_string - Escapes karakter khusus dalam string
untuk digunakan dalam pernyataan SQL
mysql_result - Dapatkan data hasil
mysql_select_db - Pilih database MySQL
mysql_set_charset - Mengatur set karakter klien
mysql_stat - Dapatkan status sistem saat ini
mysql_tablename - Dapatkan nama tabel lapangan
mysql_thread_id - Kembali thread ID saat ini
mysql_unbuffered_query - Kirim query SQL ke MySQL tanpa
mengambil dan buffering baris hasil.
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Cara Kerja PHP dan MySQL
Koneksi
Pilih Database
Jalankan Query
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Koneksi
 mysql_connect ([ string $server, string
$username, string $password)
 Fungsi ini adalah fungsi yang kita gunakan untuk
melakukan koneksi dengan basis data yang ada.
 $server = merupakan nama server database yang
dipakai, jika menggunakan komputer lokal maka
ketikan varameter server itu dengan localhost
 $username merupakan nama user yang diberi hak
akses oleh server MySQL defaultnya adalah “root”
 $password merupakan password yang dimiliki
oleh user
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
<?php
$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Pilih Database
 mysql_select_db ( string $database_name ,
resource $link_identifier )
 $database_name , nama basis data yang akan
digunakan/dimanipulasi
 $link_identifier, merupakan link terakhir dibuka
oleh fungsi mysql_connect ().
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
<?php
$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');
if (!$link) {
die('Not connected : ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
?>
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Menjalankan Query
 mysql_query ( string $query [, resource
$link_identifier ] )
 $query, merupakan perintah query MySQL yang
akan dieksekusi
 $link_identifier merupakan variabel yang
dihasikan dari penggunaan fungsi mysql_connect
 Kadang-kadang kita tidak menggunakan
parameter $link_identifier
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Example
<?php
$result = mysql_query('SELECT
* WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysq
l_error());
}
?>
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Menampilkan Data
 mysql_fetch_object - Ambil hasil baris
sebagai obyek
 mysql_fetch_row - Dapatkan hasil baris
sebagai array enumerated
 mysql_fetch_assoc - Ambil hasil baris sebagai
array asosiatif
 mysql_fetch_array - Ambil hasil baris sebagai
array asosiatif, array numerik, atau keduanya
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Cara Kerja Menampilkan Data
 Lakukan Koneksi  mysql_connect()
 Pilih Database  mysql_select_db()
 Jalankan Query  $hasil = mysql_query
 Lakukan Looping data dengan menggunakan
While
while($data=mysql_fecth_array($hasil)) {
// tampilkan data
echo $data->
}
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
Cara Mengakses
 While
<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbnm = "pw2";
$conn = mysql_connect ($host, $user, $pass);
if ($conn) {
$buka = mysql_select_db ($dbnm);
if (!$buka) {
die ("Database tidak dapat dibuka");
}
Pemrograman Web S1 Teknik Informatika
STMIK Bumigora
} else {
die ("Server MySQL tidak terhubung");
}
$result = mysql_query('SELECT * WHERE 1=1');
while ($hasil = mysql_fetch_array ($result)){
// proses tampilkan data
}
?>
Terima Kasih
{: Ada Pertayaan :}
Download