• 1 Yorum



  • Mysqli ve Mysql arasındaki başlıca farklar

    • Mysqli,Php üzerinden MYSQL veritabanı işlemlerini gerçekleştirmek üzer ortaya çıkan eklentidir. Açılımı MySQL Improved – Geliştirilmiş MySQL dir.
    • Mysqli eklentisi MySQL  4.1 sürüm sonrasında çıkan yeniliklere uyum sağlayabilir,.
    • Mysqli güvenilir, geliştirilmesi kolay bir yapı sağlar.
    • Mysql ise bildiğiniz üzere bir veri tabanıdır.
    • Mysqli bir veritabanı değil PHP ilse Mysql üzerinde işlemler gerçekleştirmeye yarayan bir eklentidir.
    • Sorgu sonucu dönen veriler ilave işlemlere gerek kalmadan nesneye atanabilir.
    • Mysqli kullanmanızda SQL injection ve diğer  saldırıları karşı koruma sağlayabilirsiniz. Daha yüksek performans alabilir ve daha kullanışlı fonksiyonlar yazabilirsiniz. Veritabanı karışıklığını önler, Birden fazla veritabanına bağlanma gibi bir durumda daha faydalıdır.
    • mysql genişletmesi’nin (extansion) geliştirilmesi durmuştur. Sadece hatalar giderilmektedir.
    • Benchmarklarda mysqli’nin performansı mysqli geçer.
    • Mysql genişletmesi gelişmiş veritabanı özelliklerini desteklemez.
    • Mysql genişletmesi prosedürler halinde çalışır.
    • Mysql genişletmesini yeni sürülen php sürümlerinde kullanamayabiliriz.

    Detaylı açıklamalar;


    PHP Sürüm 5 ve öncesinde MySQL sunuculara bağlantı sağlayan MySQL eklentisi, çok başarılı olmasına rağmen MySQL sürüm 4.1 sonrası ile çalışırken sorunlar yaşamaktadır. Ayrıca MySQL eklentisi, bu sürümle sunulan yeni özellikleri ve protokollere destek verememektedir. Bu nedenle PHP geliştirilmesi ve bakımı karmaşık olan MySQL eklentisinin yerine MySQL-i (MySQL Improved – Geliştirilmiş MySQL) eklentisini duyurmuştur.

    MySQL-i eklentisi MySQL sürüm 4.1 sonrası sunulan yenilikleri etkin olarak kullanabilmekte ve güvenilir, geliştirilmesi kolay bir yapı sağlamaktadır. MySQL-i ile sunulan en dikkat çekici yenilikler şu şekildedir;

    • Object-Oriented Interface (Nesne Tabanlı Arabirim)
    • Prepared Statements (Ön Hazırlıklı Sorgular)
    • SQL İnjection ve diğer  saldırıları karşı koruma
    • Daha yüksek performans
    • Daha çok ve daha kullanışlı fonksiyonlar
    • Birden fazla veritabanına bağlanma gibi bir durumda daha faydalıdır.
    • Veritabanı karışıklığını önler.

    PHP’de kendi resmi dökümantasyonunda da bunun sinyalini vermeye başlamış; “mysql” fonksiyonlarının sayfasında aşağıdaki gibi bir öneriyle karşılaşıyoruz;

    Normal Bağlantı kodları MySQL-i bağlantı kodları
    <?php
    $link = mysql_connect(“Localhost”, “root”, “1234”);
    mysql_select_db(“OgrenciVeritabani”);
    mysql_query(“SELECT * FROM ogrenciler”);
    mysql_close();
    ?>
    <?php
    $link = mysqli_connect(“localhost”, “root”, “1234”, “OgrenciVeritabani”);
    mysqli_query($link, “SELECT * FROM ogrenciler”);
    mysqli_close($link);
    ?>

    mysqli_nedir

    Bir veritabanını web ortamından kullanılabilmesi için bir arayüze ihtiyaç duyulur. Çoğu veritabanının kendi web arayüzleri mevcut olmakla birlikte pahalıdırlar. Bu arayüzler “veritabanı sunucu”-“web sunucu” ilişkisini kurarlar. Bu arayüzlere web programlama dili de denilmektedir.

    Bazı web programlama dilleri vardır ki bunlar ücretsiz olarak temin edilebilmektedir. Bunlar web sunucu ile etkileşimli olarak çalışırlar. PHP, perl, java ve c gibi programlama dilleri bunların arasında sayılabilir. Bunlardan PHP, oracle gibi ticari olan, MySQL gibi ücretsizleri direkt desteklemenin yanında ODBC sürücülerini de (veritabanlarına baglanmada aracılık eden programlar) desteklemektedir. Böylece her veritabanını desteklemektedir.

    Birbirleriyle en ideal olarak analaşan Apache web sunucu, MySQL veritabanı ve PHP dili artık kaçınılmaz üçlü olmuşlardır.

    MySQL Neden Gerekli

    Etkileşimli web sayfalarında kaçınılmaz olan veri kutuphanesinin bir veritabaninda olmasidir. Veriye erişim hızı, veri guvenliği, çok kisinin kullanıyor olması gibi nitelikler bir veritabanından beklenen özelliklerdir. Veritabanının ücreti, destek bulabilmek, kullanacağınız arayüz programi (PHP gibi) ile uyumluluğu gibi parametreler veritabanı seçimini etkilemektedir. MySQL veritabanında aranan bu özelliklerin olması, bu dilin seçimini sağlamaktadır.


    Konuyla ilgili yorumlar

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak.