Hoş Geldin, Mühendis!

Tüm mühendislerin ve mühendis adaylarının yer aldığı forum sayfamıza kayıt olmalısınız. Kayıt olduktan sonra tüm ders notlarına, teknik dokümanlara erişim sağlayabilecek, sorularınızı sorup cevaplar verebileceksiniz. Sitemiz tamamiyle ücretsiz olmakla birlikte Mühendis Puanı sistemi uygulamaktadır.

Bilgi paylaştıkça çoğalır.

Premium Abonelik 📢

Premium abonelik ile sitemizi reklamsız gezebilir, dosyaları sınırsızca indirebilirsiniz.

Daha Fazlası

[Muhendisiz.NET] Tekrar Sizlerleyiz! 🎭

Mühendisiz.NET sitesi forum ve blog sayfası olarak tekrar yayın hayatına başladı. 🤩 Sizlerde forum sayfamıza üye olabilir ve mühendis topluluğumuza katılabilirsiniz.

Daha Fazlası

Mühendis Puanı Sistemi🏆

Bilgi paylaştıkça çoğalır felsefesini benimsemiş olmamız nedeniyle Mühendis Puanı sistemini uygulamaya aldık. Dökümanları indirebilmek için bazı paylaşımlarda bulunmalısınız. 📨

Daha Fazlası
  • Dosya indirebilmek için 2 Mühendis Puanına ihtiyacınız var. Konuya yorum atarak 1 MP Not paylaşarak 6 MP kazanırsınız.
    Bilgi Paylaştıkça Çoğalır. (Mühendislik Puanı (MP) Nedir?)
  • Mühendis Puanı kazanmaya vakti olmayanlar için ücretli premium üyelik sistemi aktif edilmiştir.
    (Premium Üyelik SATIN AL)

PHP MySQL Veri Çekme

turkmedia

Moderatör
Katılım
8 Ara 2022
Mesajlar
760
Mühendis Puanı
1,612
PHP ile MySQL veri çekme işlemi için öncelikle ile bağlantı yapılıp ile uygun SQL komutunun yazılması yeterli olacaktır.

MySQL ile veri seçme işlemi SELECT SQL komutu ile yapılır.

Sadece belirli sütunları seçmek için
SELECT sutun1, sutun2,sutunN FROM tablo_adi
kullanılır.

Tablodaki tüm sütunları seçmek için sütun yerine sadece yıldız (*) karakterinin eklenmesi yeterli olacaktır.

SELECT * FROM tablo_adi
Veri çekmek için öncelikle gerekli MySQL bağlantısını yapalım.

<?php

$baglanti = new mysqli("localhost", "root", "", "kisi");

if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}

$baglanti->set_charset("utf8");

echo "Veri çekme işlemi";

$baglanti->close();

?>
Veri çekme işlemi için query veya prepare metodunu kullanabiliriz.

Dışarıdan değer almayan veri çekme işlemi için query metodunu kullanabiliriz.

<?php

$baglanti = new mysqli("localhost", "root", "", "kisi");

if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}

$baglanti->set_charset("utf8");

$sorgu = $baglanti->query("SELECT kisi_adi, kisi_soyadi, kisi_eposta FROM kisiler");

if ($baglanti->errno > 0) {
die("<b>Sorgu Hatası:</b> " . $baglanti->error);
}

$cikti = $sorgu->fetch_array();

echo "Adı: " . $cikti["kisi_adi"] . "<br /> Soyadı: " . $cikti["kisi_soyadi"] . "<br /> E-posta: " . $cikti["kisi_eposta"];

$sorgu->close();
$baglanti->close();

?>
İşlem sonucunda query metodu geri dönüş değeri olarak mysqli_result sınıfındaki metot ve özellikleri (num_rows, fetch_all, fetch_array, fetch_object, fetch_row vb.) verir.

Verileri yazdırma yöntemine göre mysqli_result sınıfındaki metotlar kullanılabilir.

Örneğin; Çekilen değerleri sınıf özelliği olarak yazdırmak için fetch_object metodu kullanılabilir.

$cikti = $sorgu->fetch_object();

echo "Adı: " . $cikti->kisi_adi . "<br /> Soyadı: " . $cikti->kisi_soyadi . "<br /> E-posta: " . $cikti->kisi_eposta;

Veri çekme işlemine dışarıdan değer alarak koşullu veri çekme gibi bir işlem yapılacaksa prepare metodunun kullanılması faydalı olacaktır.

<?php

$sira = 1;

$baglanti = new mysqli("localhost", "root", "", "kisi");

if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}

$baglanti->set_charset("utf8");

$sorgu = $baglanti->prepare("SELECT * FROM kisiler WHERE kisi_sira = ?");

if ($baglanti->errno > 0) {
die("<b>Sorgu Hatası:</b> " . $baglanti->error);
}

$sorgu->bind_param("i", $sira);
$sorgu->execute();

$sonuc = $sorgu->get_result();

$cikti = $sonuc->fetch_array();

echo "Adı: " . $cikti["kisi_adi"] . "<br /> Soyadı: " . $cikti["kisi_soyadi"] . "<br /> E-posta: " . $cikti["kisi_eposta"];

$sorgu->close();
$baglanti->close();

?>
Dışarıdan alınan değerin güvenli olarak SQL komutuna eklenmesi için prepare ve bind_param metodu kullanılmıştır.

Güvenli bir SQL komutu oluşturulduktan sonra execute metodu ile SQL komutu çalıştırılmış ve get_results metodu ile sonuçlar elde edilmiştir.

Metot query metodunda olduğu gibi geri dönüş değeri olarak mysqli_result sınıfındaki metot ve özellikleri (num_rows, fetch_all, fetch_array, fetch_object, fetch_row vb.) verir.

Sorgu sonucunda ortaya çıkan veri sayısını öğrenmek için sınıfın içindeki num_rows özelliği kullanılabilir.

echo "<p>Toplam kayıt sayısı: " . $sonuc->num_rows . "</p>";
Diğer metot ve özellikleri kullanarak çekilen veri ile ilgili bilgi alabilirsiniz.
 

Son kaynaklar