Php 8 SQL Connection
PHP 8 ile MySQL veritabanına bağlantı kurmak için en yaygın kullanılan iki yöntem şunlardır: PDO (PHP Data Objects) ve MySQLi (MySQL Improved). Aşağıda her iki yöntemi de anlatacağım.
1. PDO ile MySQL Bağlantısı
PDO, PHP’de farklı veritabanı türlerini destekleyen bir arayüzdür. Hem MySQL hem de diğer veritabanlarına bağlanmak için kullanılabilir. PDO ayrıca daha güvenli parametreli sorgular ile SQL enjeksiyon riskini azaltır.
PDO Kullanarak MySQL Bağlantısı:
<?php $host = 'localhost'; $db = 'veritabani_adi'; $user = 'root'; $pass = 'sifre'; $charset = 'utf8mb4'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; // DSN (Data Source Name) $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // Hataları göster PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // Sonuçları dizi olarak döndür PDO::ATTR_EMULATE_PREPARES => false, // Gerçek hazırlıklı ifadeleri kullan ]; try { $pdo = new PDO($dsn, $user, $pass, $options); // PDO nesnesini başlat echo "Veritabanına başarıyla bağlanıldı!"; } catch (PDOException $e) { // Bağlantı hatasını yakala ve göster throw new PDOException($e->getMessage(), (int)$e->getCode()); } ?> Açıklama:
- $dsn: Bağlantı bilgilerini içeren DSN (Data Source Name) dizgesidir. Burada MySQL sunucusunun adresi (
host), veritabanı adı (dbname) ve karakter seti (charset) tanımlanır. - $options: PDO bağlantısının davranışını kontrol eden ayarlardır. Hata ayıklama ve sorgu sonuçlarını nasıl alacağımız gibi ayarları belirleriz.
- try-catch bloğu: Veritabanı bağlantısında hata olursa, bu hatayı yakalayıp ekrana basarız.
PDO ile Sorgu Çalıştırma:
<?php // Basit bir veri sorgusu $sql = "SELECT * FROM users"; $stmt = $pdo->query($sql); // Sorguyu çalıştır while ($row = $stmt->fetch()) { echo $row['name'] . "<br>"; // Kullanıcı isimlerini göster } ?> 2. MySQLi ile MySQL Bağlantısı
MySQLi sadece MySQL veritabanı ile çalışır ve hem nesne yönelimli hem de prosedürel (fonksiyonel) şekilde kullanılabilir.
MySQLi Nesne Yönelimli Kullanımı:
<?php $servername = "localhost"; $username = "root"; $password = "sifre"; $database = "veritabani_adi"; // Bağlantı oluştur $conn = new mysqli($servername, $username, $password, $database); // Bağlantı kontrolü if ($conn->connect_error) { die("Bağlantı başarısız: " . $conn->connect_error); } echo "Veritabanına başarıyla bağlanıldı!"; ?> MySQLi ile Sorgu Çalıştırma:
<?php $sql = "SELECT * FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { // Sonuçları satır satır al while($row = $result->fetch_assoc()) { echo "Kullanıcı: " . $row["name"] . "<br>"; } } else { echo "Sonuç yok"; } $conn->close(); // Bağlantıyı kapat ?> 3. Bağlantı Güvenliği
- Hazırlıklı ifadeler kullanarak (Prepared Statements) SQL enjeksiyondan korunabilirsiniz. Hazırlıklı ifadeler hem PDO hem de MySQLi ile kullanılabilir.
PDO Hazırlıklı İfade Örneği:
<?php $sql = "SELECT * FROM users WHERE email = :email"; $stmt = $pdo->prepare($sql); $stmt->execute(['email' => $email]); // :email yer tutucuya veri bağla $users = $stmt->fetchAll(); ?> MySQLi Hazırlıklı İfade Örneği:
<?php $stmt = $conn->prepare("SELECT * FROM users WHERE email = ?"); $stmt->bind_param("s", $email); // "s" string türünü belirtir $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { echo $row['name']; } ?> Sonuç
PHP 8 ile hem PDO hem de MySQLi kullanarak MySQL veritabanına güvenli bir şekilde bağlanabilir ve sorgular çalıştırabilirsiniz. PDO çok yönlü olup farklı veritabanlarını da desteklerken, MySQLi sadece MySQL için optimize edilmiştir. Projenize en uygun yöntemi seçerek güvenli ve etkili veritabanı işlemleri gerçekleştirebilirsiniz.
Bu ders size yardımcı oldu mu? Puan verin!
Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.
Sıkça Sorulan Sorular (SSS)
Bu ders ve konuyla ilgili en çok merak edilenler
Php 8 SQL Connection dersini öğrenmek için ön koşul var mı?
Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.
Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?
Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.
Takıldığım bir yerde nereden soru sorabilirim?
Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.
Topluluk Yorumları (0)
Ders Hakkında Yorum Yap veya Soru Sor
Henüz yorum yapılmamış. İlk yorumu siz yazın!