PHP Database
Daftar Isi
Drivers
Connection
CRUD
Create
Read
Update
Delete
Caveat
Conclusion
PHP Data Object atau biasa dikenal dengan PDO adalah PHP Extension yang hadir sejak PHP v5.1
Anda tidak dapat menjalankan fungsi basis data apa pun menggunakan ekstensi PDO
sendiri. Extensi ini akan tetap mengharapkan yang namanya driver yang mendukung
untuk di koneksikan ke database dengan fungsi dasar yang dimilikinya.
https://parsinta.com/articles/belajar-php-data-object-bqsjef 1/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Drivers
Ada beberapa database driver untuk PDO yang bisa kita gunakan di antaranya adalah:
CUBRID
MS SQL Server
Firebird
IBM
Informix
MySQL
MS SQL Server
Oracle
PostgreSQL
SQLite
Pertama, saya akan menunjukkan bagaimana cara melihat driver yang Anda miliki saat ini untuk
menggunakan koneksi PDO ini. Pertama sekali, persiapkan 1 folder yang namanya learn-pdo , di
dalamnya kita buat 1 file dengan nama index.php . Dan harusnya, kurang lebih strukturnya akan
seperti ini:
.
└── index.php
Sekarang, silakan buka file index.php untuk kemudian menulis kode yang menampilkan driver nya
seperti:
<?php
print_r(PDO::getAvailableDrivers());
https://parsinta.com/articles/belajar-php-data-object-bqsjef 2/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
# output
# Array ( [0] => dblib [1] => mysql [2] => odbc [3] => pgsql [4] => sqlite )
Perhatikan output dari syntax di atas, mungkin tidak sama dengan yang Anda miliki, tetapi saya
yakin Anda pasti punya mysql / sqilte . Jadi untuk general aja, saya akan memakai mysql disni.
Connection
Silakan buat 1 file lagi dengan nama connection.php , dan sekarang harusnya kita sudah punya 2
file yaitu index.php dan connection.php . Buka file connection.php dan buat koneksi ke database
dengan menggunakan extensi pdo ini.
<?php
index.php
<?php
require_once 'connection.php';
Dan sekarang buka terminal Anda, pastikan Anda sedang di dalam folder yang sedang kita
kerjakan ini. Dan jalankan built-in web server php nya seperti:
Terminal
php -S localhost:8000
Dan sekarang, outputnya harusnya, output yang keluar kurang lebih akan seperti ini:
https://parsinta.com/articles/belajar-php-data-object-bqsjef 3/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
[Thu Nov 3 10:56:55 2022] PHP 8.1.11 Development Server (http://localhost:8000) started
Silakan Anda buka browser dan masukkan url nya sesuai yang di berikan nya
http://localhost:8000 . Dan harusnya, Anda akan melihat tampilan error kurang lebih seperti:
Itu artinya, kita belum mempunyai database dengan nama learn_pdo . Tapi sebelum kita membuat
databasenya, saya akan menunjukkan Anda cara agar muncul error nya lebih santai / readble.
Buka kembali connection.php dan tambahkan try dan catch seperti:
connection.php
<?php
try {
$pdo = new PDO(dsn: 'mysql:host=localhost;dbname=learn_pdo', username: 'root', passw
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch (\Exception $e) {
die($e->getMessage());
}
Maka dengan begitu, Anda akan melihat error yang lebih bisa dibaca dari pada yang tadi yaitu
SQLSTATE[HY000] [1049] Unknown database 'learn_pdos' . Atau jika Anda ingin lebih explicit, bisa
dengan seperti ini:
connection.php
<?php
try {
$pdo = new PDO(dsn: 'mysql:host=localhost;dbname=learn_pdo', username: 'root', passw
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
https://parsinta.com/articles/belajar-php-data-object-bqsjef 4/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Dengan seperti itu, kita dapat dengan mudah mengetahui permasalahan yang terjadi terkait
dengan koneksi database.
CRUD
Anda pasti ingin mengetahui tentang bagaimana cara kita melakukan yang namanya Create,
Read, Update, Delete (CRUD). Untuk itu, silakan buat dulu database nya yaitu learn_pdo .
Sekarang, silakan buat 1 tabel di dalam nya dengan nama users . Untuk structur tabel nya simpel
saja, Anda bisa lihat di bawah ini:
users:
id: integer primary_key auto_increment
firstname: varchar(191)
lastname: varchar(191)
Create
Sekarang, silakan buat 3 file lagi dengan nama create.php , update.php dan delete.php . Dan
harusnya untuk struktur file kita sekarang total nya ada 5.
.
├── connection.php
├── create.php
├── delete.php
├── index.php
└── update.php
create.php
https://parsinta.com/articles/belajar-php-data-object-bqsjef 5/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create</title>
</head>
<body>
<!-- form -->
</body>
</html>
Kemudian, silakan masukkan connection.php tepat di atas <!doctype html> nya seperti:
Kemudian, silakan masukkan connection.php tepat di atas <!doctype html> nya seperti:
create.php
<!doctype html>
<html lang="en">
Setelah itu, mari kita buat 1 form untuk memasukkan data nya tepat di dalam body tersebut.
create.php
Setelah itu, mari kita masukkan syntax php untuk aksi nya tepat di atas form tersebut seperti:
create.php
https://parsinta.com/articles/belajar-php-data-object-bqsjef 6/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
<?php
if (!empty($_POST)) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$user = $pdo->prepare("INSERT INTO users (firstname, lastname) VALUES (:firstnam
$user->execute(compact('firstname', 'lastname'));
Buka browser Anda dan kunjungi url http://localhost:8000/create.php . Dan silakan masukkan
datanya, jika berhasil, maka pesan yang keluar adalah "New user created successfully".
Read
Silakan masukkan beberapa data untuk kita tampilkan pada halaman index.php , Buka file nya
silakan masukkan markup seperti berikut ini:
index.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- Query -->
<!-- Loop -->
</body>
</html>
https://parsinta.com/articles/belajar-php-data-object-bqsjef 7/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Jangan lupa untuk memasukkan connection.php tepat di atas <!doctype html> seperti yang kita
lakukan pada bagian create tadi.
index.php
<!doctype html>
<html lang="en">
Setelah itu, pada bagian yang saya kasi komentar <!-- Query --> silakan masukkan statement
pdo seperti:
index.php
Kemudian, untuk bagian <!-- Loop --> silakan ganti dengan markup tabel dengan membuat
perulangan dari variable users seperti:
index.php
<table>
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach ($users as $user): ?>
<tr>
<td><?= $user['firstname'] ?></td>
<td><?= $user['lastname'] ?></td>
<td>
<a href="update.php?id=<?= $user['id'] ?>">Update</a>
https://parsinta.com/articles/belajar-php-data-object-bqsjef 8/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Harusnya, jika Anda kunjungi http://localhost:8000/ , maka data yang telah Anda masukkan tadi
akan muncul pada halaman ini.
Update
update.php
// Update users by id
?>
https://parsinta.com/articles/belajar-php-data-object-bqsjef 9/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Perhatikan! Saya sudah memasukkan connection.php di atas, jadi jangan lupa untuk memasukkan
nya. Sekarang, kita akan fokus untuk mengambil data dari id yang telah kita pilih dari index tadi.
update.php
$id = $_GET['id'];
$user = $pdo->query("SELECT * FROM users WHERE id = $id")->fetch();
Kemudian setelah itu, mari kita tambahkan form nya dengan membuat default value dari id yang di
pilih seperti berikut:
update.php
Setelah itu, silakan buat aksi update nya tepat dibawah variable users seperti:
update.php
if (!empty($_POST)) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$user = $pdo->prepare("UPDATE users SET firstname = :firstname, lastname = :lastname
$user->execute(compact('firstname', 'lastname', 'id'));
header('Location: index.php');
}
Dan, harusnya sekarang jika Anda buka localhost:8000/edit.php?id=1 , maka Anda sudah bisa
memperbarui datanya. Setelah pembaruan data berhasil, maka dia akan langsung berpindah
kehalaman index kembali.
https://parsinta.com/articles/belajar-php-data-object-bqsjef 10/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Delete
Setelah itu, buka file delete.php dan masukkan syntax menghapus record yang di pilih dari
halaman index seperti berikut:
delete.php
<?php
require_once 'connection.php';
$id = $_GET['id'];
$pdo->query("DELETE FROM users WHERE id = $id");
header('Location: index.php');
Jika sekarang Anda hapus 1 users, maka dia akan pergi kehalaman delete.php , setelah selesai
maka dia akan kembali halaman index. Itu adalah pengertian kode di atas.
Caveat
Disini saya tidak memperdulikan tentang yang namanya kondisi misalnya user id tidak ditemukan,
karena disini saya fokus tentang query sql ketika Anda menggunakan PDO ini.
Conclusion
Mulai sekarang, jika Anda masih memakai yang namanya mysql_extension , maka sudah
seharusnya pindah ke PDO. Karena mysql_extension sendiri juga sudah diusang oleh php nya.
Semoga aritkel ini bermanfaat untuk Anda, dan saya Irsyad, saya akan melihat Anda lagi di artikel
selanjutnya.
Kunjungi Sekarang
https://parsinta.com/articles/belajar-php-data-object-bqsjef 11/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Irsyad A. Panjaitan
Let's start living like no one can help us in any event, so that when we are
helped in certain times, it becomes a plus in itself.
Follow me on Support me
Tutorial Laravel Pruning: Menjaga Database Anda Tetap Ringan dan Efisien
Irsyad A. Panjaitan
Jenriko Sinaga
Jenriko Sinaga
parsinta_
Parsinta is a online learning platform intended for web developers.Through series-series such as Laravel, Reactjs, Vuejs,
InertiaJs, HTML, Bootstrap, Tailwind CSS, and more.
https://parsinta.com/articles/belajar-php-data-object-bqsjef 12/13
2/19/24, 1:59 AM Belajar PHP Data Object (PDO): Panduan Lengkap / Parsinta
Series Iklan
Email Address Langganan
Artikel Hubungi kami
(Whatsapp)
Premium
Privasi
Peringkat
Ketentuan
Validate JSON
https://parsinta.com/articles/belajar-php-data-object-bqsjef 13/13