Koneksi PHP ke Database MySQL Koneksi PHP ke MySQL Query (Create, Drop, Select, Insert, Update, delete) Oleh : Ardi Sanjaya, M.Kom
PHP dan SQL Database Arsitektur Aplikasi Web Database menyangkut 3 sistem: Web client (contoh: user browser) Web server (contoh: apache) Database server (contoh: MySQL server) Database Web Server + PHP Browser
Database MySQl adalah sebuah database yang mampu berinteraksi dengan aplikasi lain. Umumnya semua database menggunakan ODBC (Open Database Conectivity) sebagai komponen penghubung database dengan aplikasi. MySQL memiliki beberapa API selain ODBC untuk dapat berinteraksi dengan PHP
Koneksi PHP ke MySQL Untuk koneksi PHP ke database MySQL dilakukan dengan fungsi-fungsi : mysql_connect() Untuk menghubungkan ke MySQL server mysql_connect (nama_server, username, password) mysql_select_db() dsb
Koneksi PHP ke MySQL (lanj) Contoh :
Pembuatan Database MySQL Dengan script Mysql_create_db(“mydata”) 2. Menggunakan tool phpmyadmin (AppServ)
Mengakses Data mysql_query() Untuk memberikan query buat mengakses data yang ada pada database yang aktif. mysql_query(string_query) Example: <?php $id_cari=321; $query_aktif="SELECT name FROM person WHERE id=$id_cari"; $hasil_aktif=mysql_query($query_aktif); ?>
Mengakses Data (lanj) mysql_fetch_array() Untuk mengambil data hasil query. mysql_fetch_array(hasil_query) Example: <?php $query_aktif="SELECT id, name FROM person "; $hasil_aktif=mysql_query($query_aktif); while ($row = mysql_fetch_array($hasil_aktif)) { echo $row[0]; // ID echo $row[1]; // Name } ?>
Contoh
Contoh
Create CREATE Sintak untuk membuat tabel CREATE TABLE nama_tabel ( nama_atribut type_data ); Contoh: CREATE TABLE person ( id INTEGER NOT NULL PRIMARY KEY, name VARCHAR(200), birthdate DATE,
Drop DROP Untuk menghapus database atau tabel dalam database yang ada Sintak untuk menghapus database DROP DATABASE nama_database Contoh: <?php $link = mysql_connect(); mysql_drop_db(“nama_database",$link); ?>
Drop (2) DROP Sintak untuk menghapus tabel DROP TABLE nama_tabel Contoh: DROP TABLE person, book;
Insert INSERT Untuk menambah row/data ke dalam tabel database yang ada Sintak untuk insert INSERT INTO nama_tabel (nama_col, …, …) VALUES (nilai1, …, …) Contoh: <?php $query_postperson = "INSERT INTO person VALUES (1, 'Diana', '".date('Y-m-d')."')"; $hasil_postperson = mysql_query($query_postperson ); ?>
Update UPDATE Untuk mengubah nilai yang ada dalam row Sintak untuk update UPDATE nama_tabel SET nama_col1=nilai1, nama_col2=nilai2, … WHERE batasan Contoh: <?php $query_postperson = "UPDATE person SET name='Anne' WHERE id=321 "; $hasil_postperson = mysql_query($query_postperson ); ?>
Delete DELETE Untuk menghapus row yang ada pada tabel Sintak untuk delete DELETE FROM nama_tabel WHERE batasan Contoh: <?php $query_hapus = "DELETE FROM person WHERE id=321 "; $hasil_hapus = mysql_query($query_hapus ); ?>
Select SELECT Untuk menampilkan data Sintak untuk select SELECT [DISTINCT] ekspresi_select FROM tabel_yang_terlibat WHERE batasan, relasi_antar_tabel GROUP BY pengelompokan HAVING batasan ORDER BY pengurutan [ASC | DESC]
Select - Condition SELECT – Conditions (WHERE) SELECT columns What do you want to see ? FROM tables What tables are involved ? WHERE criteria What are the constraints ? Example : Select FirstName, LastName, City From Employees Where Country = ‘USA’ Order By FirstName;
Where Clauses WHERE Clauses Operators NOT AND OR < , =, > , <> Between Like In NOT AND OR
Select - Aggregations SELECT – Aggregations Aggregate Functions : Sum, Avg, Min, Max, Count Example : Select Count(*) From Products;
Group By GROUP BY Untuk mengelompokan data. Example : Select Category, Count(*) From Products Group By Category; CAUTIONS !! All non-aggregate function columns defined after the SELECT clause must also be defined after the GROUP BY clause.
Having HAVING Untuk menspesifikkan data yang ingin ditampilkan. Example : Select Category, Count(*) From Products Group By Category Having count(*) > 5;