
Ders 13 — PDO ile Veritabanına Bağlanmak
Bu dersin temel sorusuPHP ile MySQL arasında güvenli bir iletişim nasıl kurulur?
Öğrenme hedefleri
PDO bağlantısı oluşturabilecek, hata yakalayabilecek ve hazırlanmış sorgu kullanabileceksiniz.
13.1. PDO bağlantısı
PHP Kod:
<?php
$host = "127.0.0.1";
$db = "php_dersleri";
$user = "root";
$pass = "";
$dsn = "mysql:host=$host;dbname=$db;charset=utf8mb4";
try {
$pdo = new PDO($dsn, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Bağlantı başarılı.";
} catch (PDOException $e) {
echo "Veritabanı bağlantısı kurulamadı.";
}
?>Gerçek projelerde veritabanı parolasını kaynak koduna yazmak yerine ortam değişkenleri veya güvenli yapılandırma kullanılır.
13.2. Hazırlanmış sorgu
PHP Kod:
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
$stmt->execute([
"name" => "Mehmet",
"email" => "mehmet@example.com"
]);
Bu yaklaşım, kullanıcı verisinin SQL komutunun parçası hâline gelmesini önlemeye yardımcı olur.
13.3. Kayıtları okumak
PHP Kod:
$stmt = $pdo->query("SELECT id, name, email FROM users");
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($users as $user) {
echo htmlspecialchars($user["name"]) . "<br>";
}
PDO ile Veritabanına Bağlanmak (php 13.ders)
