PDO ile MySQL'e Bağlanma
DSN, kullanıcı ve parola ile bir PDO bağlantısı oluşturun.
PDO ile MySQL'e Bağlanma, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.
PDO Nedir
PDO (PHP Veri Nesneleri), veritabanı erişimi için bir soyutlama katmanıdır. Tek bir API MySQL, PostgreSQL, SQLite ve daha fazlasıyla çalışır; yalnızca DSN'yi değiştirmeniz yeterlidir.
DSN
DSN (Veri Kaynağı Adı) dizesi sürücüyü, ana bilgisayarı, bağlantı noktasını ve veritabanı adını tanımlar.
<?php
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=myapp;charset=utf8mb4";PDO Örneği Oluşturma
DSN'yi, kullanıcı adını ve parolayı PDO kurucusuna aktarın. Bağlantı hatalarını ele almak için try/catch içine alın.
<?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());
}Hata Kipi
Hata kipini istisna fırlatacak şekilde ayarlayın; böylece hatalar hiçbir zaman sessizce yok sayılmaz.
<?php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);Varsayılan Getirme Kipi
Varsayılan getirme biçimini yapılandırın; ilişkisel diziler en kullanışlı seçenektir.
<?php
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);Tam Bağlantı Kurulumu
En iyi uygulama şudur: tüm öznitelikleri içeren PDO'yu bir kez oluşturun, ardından örneği paylaşın.
<?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,
]
);
}Öykünülmüş Hazırlamalar
ATTR_EMULATE_PREPARES değerini false olarak ayarlamak, gerçek sunucu tarafı hazırlanmış ifadeleri kullanır; bunlar daha güvenli ve daha verimlidir.
charset=utf8mb4
DSN içinde her zaman charset=utf8mb4 belirtin. Bu, emojiler de dâhil olmak üzere Unicode aralığının tamamını destekler. Eski utf8 takma adını asla kullanmayın.
Basit Bir Sorgu Çalıştırma
query() yöntemini yalnızca kullanıcı girdisi içermeyen ifadeler için kullanın.
<?php
$stmt = $pdo->query("SELECT COUNT(*) as total FROM users");
$row = $stmt->fetch();
echo $row["total"];SELECT Dışı İşlemler için exec()
exec(), sonuç döndürmeyen bir ifadeyi çalıştırır ve etkilenen satırların sayısını döndürür.
<?php
$count = $pdo->exec("DELETE FROM sessions WHERE expires_at < NOW()");
echo "Deleted $count expired sessions";Kalıcı Bağlantılar
PDO, PDO::ATTR_PERSISTENT => true aracılığıyla kalıcı bağlantıları destekler. PHP-FPM ortamlarında genellikle bağlantı havuzu tercih edilir.
Özet
PDO'yu bir DSN ile oluşturun, ERRMODE_EXCEPTION ve FETCH_ASSOC ayarlarını yapın, öykünülmüş hazırlamaları devre dışı bırakın. Kullanıcı tarafından sağlanan verilerle asla query() çağırmayın; hazırlanmış ifadeleri kullanın.
Hızlı Kontrol
PDO'nun hatalarda istisna fırlatmasını hangi öznitelik sağlar?
Sıkça Sorulan Sorular
“PDO ile MySQL'e Bağlanma” dersi ücretsiz mi?
Evet — “PDO ile MySQL'e Bağlanma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.
“PDO ile MySQL'e Bağlanma” dersinde ne öğreneceğim?
DSN, kullanıcı ve parola ile bir PDO bağlantısı oluşturun. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PHP Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“PDO ile MySQL'e Bağlanma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- PDO ile MySQL'e Bağlanma
- Hazırlanmış İfadeler ve Parametre Bağlama
- PDO ile Sonuçları Alma
- PDO ile İşlemler