Menghubungkan ke MySQL dengan PDO
Buat koneksi PDO dengan DSN, pengguna, dan kata sandi.
Menghubungkan ke MySQL dengan PDO adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.
Apa Itu PDO?
PDO (PHP Data Objects) adalah lapisan abstraksi akses basis data. Satu API dapat digunakan dengan MySQL, PostgreSQL, SQLite, dan lainnya—Anda hanya perlu mengubah DSN.
DSN
String DSN (Data Source Name) mengidentifikasi pengandar, hos, porta, dan nama basis data.
<?php
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=myapp;charset=utf8mb4";Membuat Instans PDO
Berikan DSN, nama pengguna, dan kata sandi kepada konstruktor PDO. Bungkus dengan try/catch untuk menangani kesalahan koneksi.
<?php
try {
$pdo = new PDO(
"mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
"db_user",
"db_pass"
);
} catch (PDOException $e) {
die("Connection failed: ".$e->getMessage());
}Mode Kesalahan
Atur mode kesalahan agar melempar pengecualian sehingga kesalahan tidak pernah diabaikan secara diam-diam.
<?php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);Mode Pengambilan Bawaan
Konfigurasikan gaya pengambilan bawaan—larik asosiatif adalah yang paling praktis.
<?php
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);Penyiapan Koneksi Lengkap
Praktik terbaik: buat PDO sekali dengan semua atribut, lalu bagikan instans tersebut.
<?php
function createPDO(): PDO {
return new PDO(
"mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
"root", "secret",
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]
);
}Pernyataan Siap Tiru
Mengatur ATTR_EMULATE_PREPARES ke false akan menggunakan pernyataan siap pakai yang benar-benar diproses di sisi server—lebih aman dan efisien.
charset=utf8mb4
Selalu tentukan charset=utf8mb4 dalam DSN. Ini mendukung seluruh rentang Unicode, termasuk emoji. Jangan pernah menggunakan alias lama utf8.
Menjalankan Kueri Sederhana
Gunakan query() hanya untuk pernyataan yang tidak memiliki masukan pengguna.
<?php
$stmt = $pdo->query("SELECT COUNT(*) as total FROM users");
$row = $stmt->fetch();
echo $row["total"];exec() untuk Selain SELECT
exec() menjalankan pernyataan yang tidak mengembalikan hasil dan mengembalikan jumlah baris yang terpengaruh.
<?php
$count = $pdo->exec("DELETE FROM sessions WHERE expires_at < NOW()");
echo "Deleted $count expired sessions";Koneksi Persisten
PDO mendukung koneksi persisten melalui PDO::ATTR_PERSISTENT => true. Dalam lingkungan PHP-FPM, kumpulan koneksi biasanya lebih disukai.
Ringkasan
Buat PDO dengan DSN, atur ERRMODE_EXCEPTION dan FETCH_ASSOC, serta nonaktifkan pernyataan siap tiru. Jangan pernah memanggil query() dengan data yang diberikan pengguna—gunakan pernyataan siap pakai.
Pemeriksaan Cepat
Atribut apa yang membuat PDO melempar pengecualian saat terjadi kesalahan?
Belajar PHP dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 49
- Pelajaran
- 195
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menghubungkan ke MySQL dengan PDO” gratis?
Ya — teks lengkap “Menghubungkan ke MySQL dengan PDO” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menghubungkan ke MySQL dengan PDO”?
Buat koneksi PDO dengan DSN, pengguna, dan kata sandi. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai PHP Academy?
Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Menghubungkan ke MySQL dengan PDO” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menghubungkan ke MySQL dengan PDO
- Pernyataan Terpraproses dan Pengikatan
- Mengambil Hasil dengan PDO
- Transaksi dengan PDO