PHP 8 Php 8 MySQL ile PHP 2026 Güncel

Php 8 SQL Connection

4 dk okuma süresi 1.129 görüntülenme 2024-09-22 4.9 (14 değerlendirme)

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 Dersi Değerlendirin

Bu ders size yardımcı oldu mu? Puan verin!

Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.

4.9 / 5 (Toplam 14 oy kullanıldı)

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.

Paylaş:
PHP Hocası Akademi

Topluluk Yorumları (0)

Ders Hakkında Yorum Yap veya Soru Sor

Henüz yorum yapılmamış. İlk yorumu siz yazın!