Özel bir veritabanı sınıfına gerçekten ihtiyaç olup olmadığını merak ediyordum. Demek istediğim: Web üzerinde çok fazla veri tabanı soyutlama katmanı ve özel veritabanı sınıfı gördüm. Ama neden tekerleği yeniden icat etmeliyiz? Neden sadece mysqli ana sınıfını kullanmam ve gerçekten ihtiyacım olursa onu genişletmemeliyim? mysqli sınıfı, güncel ve yereldir. Kişiler, zaten varken query()
yöntemi, fetch()
yöntemi ve free()
yöntemiyle kendi sınıflarını neden oluşturuyor? Mysqli de ifadeler hazırladı, sql enjeksiyonunu oradan uzak tutmanın en güvenli yollarından biri.Mysqli veya özel veritabanı sınıfı?
cevap
MySQLi uzantısının kullanımını kolaylaştırır. MySQLi ile hazırlanan istatistikleri kullanmak çok hantal ve çok fazla kod gerektiriyor ve aynı temel kodu her yerde çoğaltabilirsiniz.
bir ambalaj kağıdı ile Halbuki böyle şeyler yapabilirsiniz:
$rows = $db->Query ('
SELECT
*
FROM
table_name
WHERE
field = ?
AND field2 = ?
',
Array (
Array ('s', 'some val'),
Array ('i', 42)
)
);
Ve neden bu kadar çok daha iyi olmalı $ stmt = $ dbh-> hazırla ("INSERT INTO REGISTRY (isim, değer) DEĞERLERİ (: isim,: değer)"); $ stmt-> bindParam (': name', $ name); $ stmt-> bindParam (': value', $ value); – Shoe
Çünkü yazdıklarınızdan çok daha fazla kod var. –
Evet, ama çok daha fazla esneklik de. Fonksiyonunuzla, gerçekte hazırlanmış ifadelerin gücünü kullanmadan doğrudan bir sorgu oluşturabilirsiniz (bir beyanı belirtin ve bunu birden çok kez kullanın). – Shoe
ayrıca veritabanından veri erişimde bir nesne yönelimli yaklaşım alabilir. Örneğin. Tüm veri alımlarınızı bir php sınıfına sığdırır. ve mysqli modülü
kullanarak tüm veri alma yöntemlerini sınıf işlevlerinin içine yazın Ortak CRUD işlemleri için aynı tekrar eden kod yazmak düz SQL'de zahmetlidir. Object-Relational Mappers'ın bu soruna nasıl yaklaştığını görün: Good PHP ORM Library?
- 1. MYSQLi
- 2. mysqli
- 3. mysqli
- 4. dat.gui özel css sınıfı
- 5. Özel UIView Sınıfı - Swift
- 6. Özel şablon sınıfı işlevinden özel olmayan şablon sınıfı işlevini çağırın
- 7. Raylar 3.1 Formtastic girişi özel kimliği veya sınıfı
- 8. Genel ve özel anahtarların bir Veritabanı veya anahtar deposunda saklanması
- 9. h2 veritabanı: Desteklenmeyen veritabanı dosyası sürümü veya
- 10. yer veya konum veritabanı
- 11. İki mysqli
- 12. Kullanıcı sınıfımda bir veritabanı sınıfı kullanma
- 13. AWS Beanstalk: Gömülü veritabanı sürücüsü sınıfı belirlenemiyor
- 14. MySQLi/Prepared Statements & SQL_CALC_FOUND_ROWS
- 15. Symfony2'deki özel depo sınıfı
- 16. Özel Kütüphane projesinde uygulama sınıfı
- 17. ng sınıfı, özel yönergede tetiklenmeyecek
- 18. Özel bir sys.stdout sınıfı oluşturma?
- 19. Özel UItextField Sınıfı nasıl yazılır
- 20. Özel UIButton sınıfı hızlı kaydırma
- 21. MySQL vs PHP MySQLi
- 22. sınıfı URLfinder veya sınıf URLFinder?
- 23. WordPress'te mysqli nasıl kullanılır?
- 24. PHP yavaş yavaş mysqli
- 25. HY000/2003 hatası mysqli kullanarak localhost'a bağlanmak veya 127.0.0.1
- 26. Özel iç sınıf, beklenmeyen anonim sınıfı sentezler
- 27. Bir vaka sınıfı için JsonWriter veya JsonFormat tipi sınıfı bulamıyor
- 28. Perl 5.018'deki Özel Karakter Sınıfı
- 29. Django Özel alanın özniteliklerini veritabanı sorguları yapma
- 30. Yeni Mysqli Object is Null
Hangi dili kullanıyorsunuz? – geon
@geon: MySQLi bir PHP uzantısıdır. –