Latihan 1 dari materi Database dengan PDO di PHP — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Kode awalnya sudah membuka database SQLite di memori dengan new PDO("sqlite::memory:"), membuat tabel users, dan mengisinya dengan tiga user:
Biarkan bagian itu, lalu:
- Lengkapi
function findById(PDO $pdo, int $id): ?array: siapkan query dengan placeholder, $pdo->prepare("SELECT * FROM users WHERE id = ?"), jalankan dengan $stmt->execute([$id]), lalu ambil satu baris dengan $stmt->fetch(PDO::FETCH_ASSOC).
fetch() mengembalikan false kalau barisnya gak ada, padahal fungsinya menjanjikan ?array. Kembalikan null untuk kasus itu: return $user ?: null;.
- Panggil
findById($pdo, 2) dan tulis namanya. Lalu panggil findById($pdo, 99) (id yang gak ada) dan tulis Tidak ditemukan.
Output yang diharapkan, dua baris:
Ani
Tidak ditemukan
Yang diperiksa: dua baris output itu; kodenya memakai prepare( dengan placeholder (? atau :id), execute( dan fetch(, dan memanggil findById($pdo, ...). Penilai juga memanggil findById($pdo, 3) dan mengharapkan email Citra, lalu findById($pdo, 42) dan mengharapkan null.