Yani PHP bu veritabanı sınıf var ve ben sadece başka onun içinde 1 fonksiyonu (__construct
ve __destruct
. Bana daha açıklayayım ...
Ben aslında ben bir veritabanına bağlandığında bu yüzden sadece bir mysqli döndürülen nesnenin hangi connect_to_db()
Benim işlevini çağırır bunu yazmıştı. Ben o zaman bu ne olursa olsun yapmak için fonksiyonları (->query()
, ->prepare()
, ->bind_param()
, ve saire ..) nesneleri kullanılır. Sadece örneğin, belirli şeyleri yapmak bir çok fonksiyonu ile bu darmadağın (henüz benim yeni bir sınıf üzerinde benim kod açık değil gibi hala ve):
function get_country_info($db, $usrid) {
$statement = "select `name`, `population`, `money`, `food` from `countries` where `usr_id` = ?";
$qry = $db->prepare($statement) or
trigger_error("get_country_info():statement failed...");
$qry->bind_param("i", $usrid);
$qry->execute();
$qry->bind_result($name, $population, $money, $food);
$qry->fetch();
$res = array("name" => $name,
"pop" => $population,
"money" => $money,
"food" => $food);
return $res;
}
Ve ne yapmak başlangıçta planlanan sadece netlik için bir sınıfa bu atmak oldu, ama ne ben aslında yapıyor sona erdi oluşturduğunuz zaman (bir argüman üzerinden verilen) belirli bir veritabanı için bir mysqli nesnesi oluşturur ve tahrip kapanır bir sınıf oluşturarak oldu Bu bağlantıyı kapatır. Ben çok $db->close();
komut bağlantıyı yürütülürken tamamlandıktan olarak yazarak düşünmek zorunda değil gibi kapalıdır.
Sadece 1 diğer işlevi vardır; query()
. Bu fonksiyon ortaya koymak herhangi bir sorgu işlemek ve çok boyutlu bir dizi olarak verir edebilirsiniz. Bu kullanır eval()
. Den ne anlamak bu genellikle hoş karşılanmaz - ama eval()
kadar yararlıdır; bu yüzden neden hoş karşılanmaz?
Ben fonksiyonu yavaş olabilir sanırım, ama ben sadece bir hayvan projesi (tarayıcı tabanlı ülke yönetimi oyun) için kullanıyorum ve ben de tüm bu konuda endişeli değilim şey fark yok gibi görülmektedir. Ne hakkında endişe duyuyorum insanlar genellikle 'gerçek dünya' bunu ya edip orada insanlar bunu hangi standart çeşit, ya da belki bir şey genellikle kullanıldığı PHP (veya add-on-mümkün) dahil edip ?
Ben kendi kendine öğretti değilim, bu yüzden bazen gerçekten bir şeyler yapıyor hakkında gitmek için en iyi yol bilmiyorum. Belki biri beni buraya tavsiyelerde bulunabilir?
Söz konusu işlevi burada görülebilir: http://pastebin.org/353721, onun ~ 60 hat ve ben sayfa yığılmayı istemiyorum. Ben de kapsamlı şekilde test değil (hatta testleri hangi birim olduğunu bilmiyorum, bu yüzden farklı şekillerde bir çok fonksiyonunu kullanarak test edin) bu yüzden ben siz işaret edebilir farkında değilim sorunlar olabilir dışarı.
Teşekkürler.