PHP 8 Php 8 MySQL ile PHP 2026 Güncel

Php 8 MySQLi ile Kayıt Sorgulama

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

PHP 8 ile MySQLi kullanarak MySQL veritabanından kayıt sorgulama işlemleri yapmak oldukça basit ve etkilidir. MySQLi hem nesne yönelimli hem de prosedürel olarak kullanılabilir. Aşağıda nesne yönelimli yaklaşımı örnekleyerek kayıt sorgulama işleminin nasıl yapıldığını göstereceğim.

Adım Adım MySQLi ile Kayıt Sorgulama

1. Veritabanı Bağlantısı Oluşturma

Öncelikle veritabanına bağlanmak için MySQLi kullanacağız:

<?php $servername = "localhost"; // Veritabanı sunucusu $username = "root"; // Veritabanı kullanıcı adı $password = ""; // Veritabanı şifresi $database = "my_database"; // Kullanılacak veritabanı // 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ı!"; ?>

Bu kod, MySQL veritabanına bir bağlantı kurar. Eğer bağlantı sırasında bir hata meydana gelirse, bir hata mesajı döndürür.

2. Kayıtları Sorgulama

Şimdi, veritabanından kayıt sorgulama işlemi yapalım. Örnek olarak users tablosundan tüm kullanıcıları çeken bir sorgu çalıştıracağız:

<?php // Sorguyu hazırlama $sql = "SELECT id, name, email FROM users"; $result = $conn->query($sql); // Sorguyu çalıştır if ($result->num_rows > 0) { // Veritabanındaki her satırı döngüyle al while ($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "Sonuç bulunamadı."; } $conn->close(); // Bağlantıyı kapat ?>

Açıklama:

  • c o n n > q u e r y ( conn->query( sql): MySQL sorgusunu çalıştırır ve sonuçları $result değişkenine atar.
  • $result->num_rows: Sorgudan dönen kayıt sayısını kontrol eder.
  • $row = $result->fetch_assoc(): Her satırı bir ilişkisel dizi (array) olarak alır ve verileri ekrana yazdırır.

3. Hazırlıklı İfadeler (Prepared Statements) ile Güvenli Sorgulama

SQL enjeksiyon saldırılarına karşı korunmak için hazırlıklı ifadeler (prepared statements) kullanmak önemlidir. Kullanıcı girdilerine dayalı sorgular çalıştırıyorsanız bu yöntem daha güvenlidir.

Örneğin, belirli bir kullanıcıyı e-posta adresine göre sorgulayan bir hazırlıklı ifade örneği:

<?php // Hazırlıklı ifade oluşturma $stmt = $conn->prepare("SELECT id, name, email FROM users WHERE email = ?"); $email = "example@example.com"; // Aranan e-posta adresi // E-postayı bağla (s: string) $stmt->bind_param("s", $email); // Sorguyu çalıştır $stmt->execute(); // Sonuçları al $result = $stmt->get_result(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "Sonuç bulunamadı."; } $stmt->close(); // Hazırlıklı ifadeyi kapat $conn->close(); // Bağlantıyı kapat ?>

Açıklama:

  • $stmt = $conn->prepare(): Sorguyu hazırlıklı bir ifade olarak hazırlar.
  • $stmt->bind_param(): Girilen veriyi yer tutucuya (burada "s" string türü için) bağlar.
  • $stmt->execute(): Sorguyu çalıştırır.
  • $stmt->get_result(): Sorgu sonucunu alır ve sonuçları işler.

4. Sonuçları Listeleme

Yukarıdaki örneklerde sorgu sonucundaki verileri ekrana yazdırdık. Eğer sonuçları HTML içinde bir tablo olarak listelemek isterseniz, aşağıdaki gibi bir yapı kullanabilirsiniz:

<?php $sql = "SELECT id, name, email FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table border='1'><tr><th>ID</th><th>Name</th><th>Email</th></tr>"; while ($row = $result->fetch_assoc()) { echo "<tr><td>" . $row["id"]. "</td><td>" . $row["name"]. "</td><td>" . $row["email"]. "</td></tr>"; } echo "</table>"; } else { echo "Sonuç bulunamadı."; } $conn->close(); ?>

Açıklama:

  • HTML tablo etiketleri kullanılarak sorgu sonuçları bir tablo halinde ekrana basılır.
  • fetch_assoc() fonksiyonu ile her satır, sütunlara ayrılarak tablo yapısında gösterilir.

Sonuç

PHP 8 ve MySQLi ile veritabanından kayıt sorgulama işlemi oldukça hızlı ve güvenlidir. Hazırlıklı ifadeler kullanarak güvenli sorgular yazabilir, veritabanındaki verileri dinamik olarak alabilirsiniz. Bu teknikler özellikle web projelerinde yaygın olarak kullanılır ve performans açısından da oldukça etkilidir.

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 MySQLi ile Kayıt Sorgulama 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!