İçindekiler
Bir uygulamaya zarar verebilecek bir şey varsa, onu daha hızlı ve daha güvenli hale getirmek için yeterli kaynakları kullanmadığımızda, uygulamaların hızını ve güvenliğini artırmanın birçok yolu vardır, daha iyi geliştirme kalıpları kullanarak olabilir, sunucularda daha fazla güvenlik uygulamak vb.Ancak, çoğu zaman durup düşünmediğimiz bir nokta vardır ve bu, dilin bize sağladığı aracın yaptığımız iş için en iyisi olup olmadığıdır. bu içinde çok oluyor PHP Uzun yıllardır işlevi kullanmamak için bir uyarı olmasına rağmen mysql_connect () bağlantılar kurmak için veritabanları, birçok geliştirici, onu kullanırken yaptıkları büyük hatayı fark etmemiş görünüyor.
PHP çok sayıda motor için yerel desteğe sahiptir veritabanları piyasada var olan, ancak bununla entegrasyonu MySQL çoğu kullanıcı için neredeyse zorunlu bir başlangıç noktasıdır.
mysql_connect ()Sürümden 5.5 nın-nin PHP klasik fonksiyon mysql_connect () durumda kullanımdan kaldırıldı, yani eskidir ve dilin gelecekteki sürümlerinde yer almayacağı için kullanılmaması şiddetle tavsiye edilir.
Bağlantıyı iki öğe üzerinden gerçekleştirmenin alternatifi, ilki bağlantı kurmak için aynı dil yapısını kullanmak veya bağlantı kurmak için yeni kütüphaneyi kullanmaktır. MySQL. İşte ilk soru gelebilir, neden sadece MySQL? Cevap basit, bu bir başlangıç, başlangıçta açıklayabileceğimiz en basit ve en kullanışlı şey, bu temeli bilirsek diğer motorlara ve sürücülere tahminde bulunabiliriz.
Bağlantının ilk alternatifi Veri tabanı olarak adlandırılan dilin kendi veri nesnesini kullanmaktır. PHP Veri Nesnesi veya kısaltması PDO. Bu, dilde büyük bir yazılı uzantıdan başka bir şey değildir. C farklı motor tipleri ile bağlantı kurmamızı sağlayan veritabanları ve bize platformlar arası uygulamalar yazma imkanı veren standart yöntemlere sahip olduğunu, yani veritabanı motorunu değiştirirsek sözdizimini değiştirmemiz gerekmediğini.
İlk başta odaklanacağımızı söylemiştik. MySQLancak üzerinden bir bağlantı kurarsak PDO ne yaparsak diğer motorlara uygulayabiliriz. Bunun için sadece söz konusu motorların sürücülerini etkinleştirmemiz veya dahil etmemiz ve bunları dosyada etkinleştirmemiz gerekiyor. php.ini sunucudan.
Bir bağlantıya bağlanmak için Veri tabanı sadece bunun için uygun yöntemi kullanarak bağlantıyı kurmamız gerekiyor, PDO bağlantı, veritabanı sunucusunun adı, kullanıcı adı ve şifresi olmak üzere üç temel parametre ile sağlanır.
Bu üçünün açıklama gerektiren tek parametresi veritabanı sunucusunun parametresidir, geçmişte seçmek zorunda kaldık Veri tabanı Bağlantıyı kurduktan sonra belirli bir fonksiyon aracılığıyla, bu durumda bunu aynı dizide yapacağız, böylece sunucu adı dizimiz şöyle görünecek:
mysql: ana bilgisayar = ana bilgisayar adı; dbname = dbname
Başlangıçta motoru belirlediğimizi görüyoruz, bu durumda mysql sonra host ile size sunucunun hangisi olduğunu söyleyeceğiz, burada bir IP veya yerel ana bilgisayar sunucu yerel ise, sonunda dbname bağlanmak istediğimiz veritabanının adını geçiyoruz. Aşağıdaki resimde bir kodun nasıl bağlanacağını gözlemleyeceğiz. PDO:
BÜYÜT
Bu basit sorguda, dosyamızda bir tablomuz olduğunu varsayacağız. Veri tabanı aramak Yazar bir yazar kodu ve ardından adını alan, elbette açıklayıcı olması iyi bir tablo örneği değil, yalnızca bağlantının nasıl çalıştığını bilmekle ilgileniyoruz. PDO.
Resimde adında bir yöntem çağırdığımızı görüyoruz. sorgu () PDO bağlantı dizesi ile oluşturulan nesneden sorgumuzu çok problemsiz yazıyoruz:
BÜYÜT
BÜYÜT
Bir kez danışmak istersek, zaten bazı değerleri girdimize ekledik. Veri tabanı çok basit, sadece bir sorgu ile yapmamız gerekiyor SEÇME, bu, geçmişte aşağıdaki gibi fonksiyonlara bağlı olduğumuz kayıtları getirmemize izin verecek. mysql_fetch_array() veya mysql_fetch_assoc() bir zamanlar tüketilen, sonuçlarını tekrar yönetemez hale getirdi.
İle birlikte PDO Verileri doğrudan nesneden alacağız, bu nedenle yürütme sırasında her zaman kullanılabilir durumda olacağız, aşağıdaki örnekte nasıl yapılacağını görelim:
Ne MySQL entegre edilecek en popüler Veritabanı motorudur PHP, ayrıca bir alternatif var ve MySQLi nesne yönelimli bir arayüzden başka bir şey değildir. Çalışma şekli şuna çok benzer: PDOAncak, bunun yalnızca bu popüler Veritabanı motoru için geçerli olması, dolayısıyla platformlar arası bir dönüştürmenin mümkün olmamasıdır.
Bağlantı dizgisi, hosttaki sunucunun adını ve kullanılacak Veritabanını iki farklı parametrede böldüğü için, kullanıcının adı ve şifresine ek olarak biraz daha az karmaşıktır, bakalım neye benziyor:
$ objConex = yeni mysqli (Ana BilgisayarAdı, kullanıcı, parola, VeritabanıAdı);
Aşağıdaki örnekte kullanarak nasıl bağlantı kurduğumuzu görelim. MySQLi ve basit bir veri ekleme işlemini nasıl gerçekleştirebiliriz:
BÜYÜT
Şimdi bir sorgudan elde edebileceğimiz verileri alıp yineleyeceğiz, bunun için aynı yöntemi kullanacağız. sorgu () ve sonra yöntem fetch_assoc () sonuçları almak için:
ÖnemliUnutulmamalıdır ki, eski bir sürümde yapılmış bir sistemimiz varsa, PHP ve yeni sürümlere geçmeyeceğiz, belki bağlantı dizelerini Veri tabanı ve sorgulama yöntemleri temsil ettiği iş için iyi bir fikir olmayabilir. Ancak, yeni uygulamalar ve sistemler yapmak istiyorsak, bu yeni kütüphaneleri gelecekteki sürümlerinde destekle kullanarak sağlam bir temelle başlamak en iyisidir. PHP.
Bununla bu öğreticiyi bitiriyoruz, yeni alternatiflerin çok daha temiz ve daha güvenli olduğunu ve kullanım kolaylıklarının onları şimdiki zamanlara uygun hale getirdiğini gördük.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.