MySQL veritabanı kapalı değilse ne olur?

2 Cevap php

MySQL veritabanı kapalı değilse ne olur? Düzgün kapalı olup olmadığını nasıl bilebiliriz?

Ben bu yüzden ne yaptım ben komut başlamadan önce sayfanın üstünde bir veritabanı açın ve script (PHP) nerede biter yakın olduğunu .. bir sayfada 11 tablo vardır bir sayfa var ...

bitiş mysql_close ($ db) olduğu; ...) Bu yeterince adil ya da ben sadece mysql_close (vermek gerekiyor;

2 Cevap

Tüm sunucu platformlarında tüm PHP / MySQL sürümleri aynı şekilde davranır olmadığını kesin söyleyemeyiz. Veritabanına tcp bağlantıları için - ($ db) mysql_close çağrı sürece, sadece komut bittikten sonra yarım dakika için kullanılmak üzere bekleyen orada oturan bir sarkan tcp bağlantı olacak. Sonra sadece kendi gidersiniz.

Bu tamamlamak için tam 30 saniye alarak PHP'nin çöp toplama olup olmadığını söyleyemem, ya da tcp bağlantı kendi başına 30 saniye sonra sona erecek eğer bağlanmak kez çağrı.

Mysql_close ($ db) anında olsa tcp bağlantısını öldürür. Yani evet, ben artık komut bir veritabanı bağlantısı gerekir hemen sonra ($ db) mysql_close diyoruz hep derdim.

Komut sonlandırıldığında sizin için yapılır çünkü senaryonun sonunda bir bağlantıyı kapatmadan bir nokta yok. Eğer bir cini falan çalıştırıyorsanız ve tüm çalışma süresi için bir bağlantı tutunmak istemiyorsanız gerçekten açıkça yakın işlevini çağırmalıdır tek zamandır.

PDO PHP için modern veritabanı erişimi kütüphane olarak kabul edilir (Eğer gerçekten yerine mysql_*, bu fonksiyonların kullanıyor olmalıdır, ama bu başka bir hikaye) ve hatta that yakın bir işlevi yok sadece gelin eve götürmek için.