Background:
- Biz mysql veritabanına erişim için kullanılan bir sınıf var. Bir bağlantı, bir parametre olarak sağlanan değilse, bu sınıf içinde yöntemleri yeni bir mysql bağlantı oluşturur.
- Biz sistem (veritabanı değil class) sınıfını kullandım yolu bir veritabanı nesnesi bildirmek ve uygun yöntemi çağırır ve öyle her nesne kapsam sonuna sağlamaktır.
- Biz, bir bağlantı oluşturarak bir kayıt ekleme, bağlantıyı kapatmadan ve ardından son eklenen id almak için max (id) almak amacıyla yeni bir bağlantı açılıyordu sistemi (değil veritabanı sınıfı) kod ile bir sorun koştu . (Açıkçası bu wouldnt ölçek.)
Problem:
Ben uygun fonksiyonları mysql_insert_id ile max (id) kullanımını değiştirmek için kodu düzeltmek için çalışıyorum ve veritabanı bağlantı linki PASS için aşağıdaki yollardan birini kod yapısını gözden geçirmek gerekir.
I think I have the following choices:
1. Revise the class methods' code to use the class's internal link variable. Declare the database object once as a global object. Revise code usage all over the application to use this global variable.
2. Revise the class methods' code to use the class's internal link variable. Save the "MySQL link identifier returned by mysql_connect()" in a globally accessible variable and then use that when creating the database object. Minimal impact to use of the object and its methods.
Başka bir seçenek var mı? Bir kod yayık daha az, çünkü ben (2) için kenar ediyorum - ama öyle yapıyor olmalıdır? Olası sorunlar?