Güvenli bağlantı
$pdo = new PDO('mysql:host=localhost;dbname=site;charset=utf8mb4', $kullanici, $parola, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]);Prepared statement
$s = $pdo->prepare('SELECT id, ad FROM uyeler WHERE eposta = ? LIMIT 1');
$s->execute([$eposta]);
$uye = $s->fetch();Değeri sorgu metnine asla birleştirmeyin; parametre olarak verin. SQL Injection böyle önlenir.
Tablo tasarımı
- Her tabloya
idbirincil anahtar, ilişkiler için yabancı anahtar tanımlayın. - Sık filtrelenen sütunlara indeks ekleyin:
INDEX (kategori_id, aktif). - Metinler için
utf8mb4kullanın (Türkçe ve emoji sorunsuz). - Şifreleri
password_hash()ile saklayın,password_verify()ile doğrulayın.
EXPLAIN SELECT … ile sorgunuzun indeks kullanıp kullanmadığını görün.
Yükleniyor…
Etiketler
#php#pdo#mysql#veritabani#indeks
Dersi bitirdin mi?
Tamamlandı olarak işaretle, yol ilerlemen güncellensin ve sıradaki derse geç.