PHP ile bir MySQL veritabanındaki tablolardan 3 farklı yöntemle veri okuyabiliriz.
MySQL'de bir tablodan veri okumak için SELECT komutu kullanılır. MySQL ile bir tablodan tüm sütun değerlerini okumak için aşağıdaki komut yapısını kullanabilirsiniz:
SELECT * FROM tablo_adi
Sadece belirli sütun değerlerini okumak isterseniz * karakteri yerine virgülişareti ile ayırarak sütun adlarını yazmanız yeterli olacaktır:
SELECT sutun_adi1, sutun_adi2 FROM tablo_adi
Buradaki örneklerimizde, daha önce oluşturduğumuz personel adlı tablodan veri okumaya çalışacağız:
1. MySQLi Nesneye Dayalı yöntem ile
<?php $sunucu = "localhost"; $kullanici = "kullanıcıadı"; $parola = "parola"; $veritabani = "veritabaniadi"; // Bağlantı oluşturma $bag = new mysqli($sunucu, $kullanici, $parola, $veritabani); // Bağlantı kontrolü if ($bag->connect_error) { die("Bağlantı hatası: " . $bag->connect_error); } // MySQL tablodan değer okuma komutu $sqlquery = "SELECT adi, soyadi, dogumtarihi FROM personel"; $sonuc = $conn->query($sqlquery); if ($sonuc->num_rows > 0) { // Döngünün her tekrarında tabloda yer alan bir kayıda işlem yapar. while($row = $sonuc->fetch_assoc()) { echo "Adı ve soyadı: " . $row["adi"]. " " . $row["soyadi"] . "<br/>"; echo "Doğum tarihi: " . $row["dogumtarihi"]. "<br/><br/>"; } } else { echo "Kayıt bulunamadı!"; } $bag->close(); ?>
Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt okumak için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak personel tablosu içindeki adi, soyadi ve dogumtarihi sütunlarında yer alan değerleri okur ve sonucları $sonuc değişkenine atar. Eğer, $sonuc değişkeni içindeki num_rows değeri yani okunan kayıt sayısı 0'dan büyük ise, while döngüsü ile fetch_assoc() fonksiyonu her defasında bir kayıt olmak üzere tüm sütun değerlerini $row değişkenine atayarak ekrana yazar. Hata meydana gelirse, $bag->error değişkeni ile ekrana yazar.
2. MySQLi fonksiyonel yöntem ile
<?php $sunucu = "localhost"; $kullanici = "kullanıcıadı"; $parola = "parola"; $veritabani = "veritabaniadi"; // Bağlantı oluşturma $bag = mysqli_connect($sunucu, $kullanici, $parola, $veritabani); // Bağlantı kontrolü if (!$bag) { die("Bağlantı hatası: " . mysqli_connect_error()); } // MySQL tablodan değer okuma komutu $sqlquery = "SELECT adi, soyadi, dogumtarihi FROM personel"; $sonuc = mysqli_query($conn, $sqlquery); if (mysqli_num_rows($sonuc)> 0) { // Döngünün her tekrarında tabloda yer alan bir kayıda işlem yapar. while($row = mysqli_fetch_assoc($sonuc)) { echo "Adı ve soyadı: " . $row["adi"]. " " . $row["soyadi"] . "<br/>"; echo "Doğum tarihi: " . $row["dogumtarihi"]. "<br/><br/>"; } } else { echo "Kayıt bulunamadı!"; } mysqli_close($bag); ?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte nesneye dayalı yöntemle okunan kayıtları fonksiyonel yöntemle tablodan okur.