MySQL Vs. PHP'den MySQLi

MySQL PHP'den MySQLi Vs.

Nesne yönelimli yapı

MySQLi, MySQL geçişini kolaylaştırmak için prosedür stili ile bir kod yapısı için bir dizi fonksiyon sağlar. Bununla birlikte, aynı zamanda bir dizi nesne yönelimli sınıf aracılığıyla işlevsellik sağlar. Nesne yönelimli stil kullanımı, MySQL entegrasyonunu PHP 5'in nesne yönelimli özelliklerine daha uygun hale getirebilir ve genellikle MySQL işlemlerini ve görevlerini desteklemek için ek değişkenler yaratma gereğini ortadan kaldırır. Örneğin, bir veritabanı sunucusuna bağlanmak ve MySQL ve MySQLi içinde bir veritabanı açmak için kodu gösterir: MySQL: $ dbc = mysql_connect ("localhost", "user", "password"); $ db = mysql_select_database ("veritabanı");

MySQLi: $ db = yeni mysqli ("localhost", "kullanıcı", "şifre", "veri tabanı");

Hazırlanmış talimatlar

MySQL ve MySQLi arasındaki belki de en büyük fark, hazırlanan talimatlar için sonuncudur. MySQL ile SQL Injection saldırılarını önlemek için sorguda kullanılan her dizgede kaçış deyimini kullanmanız özellikle dikkatli olmalısınız. MySQLi ve hazırlanmış talimatlarla, bir takım sorgu kümelerini bir sorguya bağlayabilir ve ikincisini sorguda kullanmak istediğiniz farklı değerlerle eşleştirebilirsiniz. MySQLi, veritabanında kullanılmadan önce tüm kodda çıkış ifadesinin uygun şekilde kullanılmasını sağlamaktan sorumludur. Örneğin, aşağıdaki kod MySQLi kullanarak bir MySQL tablosuna iki kayıt ekler:

$ stmt = $ db-> (INSERT INTO INSERT (FullName, Email) değerleri (?, ?); $ stmt-> bind_param ("ss", $ ad, $ e-posta); $ fullname = "John Johnson"; $ email = "[email protected]"; $ stmt-> execute (); $ tam ad = "Mary Johnson"; $ e-posta = "[email protected]"; $ stmt-> execute (); $ stmt-> close ();

Verimlilik iyileştirmeleri

Hazırlanan talimatlar ve diğer verimlilik iyileştirmeleri nedeniyle, MySQL uzantısı eşdeğer MySQL talimatlarından daha hızlı çalışmalıdır. Önceki örnekte de görüldüğü gibi, hazırlanan talimatları kullanarak, bir ekin aşırı yüklenmesi sadece, talimat hazırlandığında bir kez gereklidir. MySQL'de eşdeğer bir ekleme ifadesiyle, ekleme aşırı yükünün her sorguyla veritabanına tekrarlanması gerekir.

iş ilişkisi

MySQLi, işlemler biçiminde ek işlevsellik sağlar. MySQLi uzantısıyla bir işlemdeki bir dizi veri işlemini gruplayabilir ve işlemleri tek bir işlem olarak birlikte yürütebilirsiniz. Bir işlem işlemi başarısız olursa, tüm işlem başarısız olur ve yapılan tüm değişiklikler tersine çevrilir. Örneğin, iki hesap arasında para transferi planlarken bir işlem kullanabilirsiniz, çünkü işlemin her iki tarafı da başarılı olmadıkça, işlem başarılı olmaz ve hesabın borç kaydedildiği bir eyaletten ayrılmak istemezsiniz. ama diğeri akredite değil.