PHP Academy · Pelajaran

Menghubungkan ke MySQL dengan PDO

Buat koneksi PDO dengan DSN, pengguna, dan kata sandi.

Pelajaran 1 dari 413 langkah

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?

Gratis untuk memulai

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

  1. Menghubungkan ke MySQL dengan PDO
  2. Pernyataan Terpraproses dan Pengikatan
  3. Mengambil Hasil dengan PDO
  4. Transaksi dengan PDO
← Kembali ke PHP Academy