WebHU - Programozási kérdések és válaszok

Mi történik, ha a MySQL-kapcsolatok folyamatosan nincsenek bezárva a PHP-oldalakon?

Minden PHP oldal elején megnyitom a kapcsolatot a MySQL-lel, használom az egész oldalon, és bezárom az oldal végén. Azonban gyakran az oldal közepén átirányítok egy másik oldalra, és ilyen esetekben a kapcsolat nem szűnik meg. Megértem, hogy ez nem rossz a webszerver teljesítménye szempontjából, mivel a PHP úgyis automatikusan bezárja az összes MySQL-kapcsolatot minden oldal végén. Van-e itt más probléma, amit szem előtt kell tartani, vagy tényleg igaz, hogy nem kell aggódnia az adatbázis-kapcsolatok bezárása miatt PHP-ben?

$mysqli = new mysqli("localhost", "root", "", "test");
...do stuff, perhaps redirect to another page...
$mysqli->close();
19.09.2008

Válaszok:


1

Forrás: http://us3.php.net/manual/en/mysqli.close.php

"A nyitott kapcsolatok (és hasonló erőforrások) automatikusan megsemmisülnek a szkript végrehajtásának végén. Azonban továbbra is be kell zárnia vagy fel kell szabadítania minden kapcsolatot, eredményhalmazt és utasításkezelőt, amint már nincs rájuk szükség. Ez segít visszaadni az erőforrásokat a PHP-nek és a MySQL gyorsabb."

19.09.2008
  • Mennyivel gyorsabb? Folyamatosan lassabb lesz, ahogy megy? 12.02.2013

  • 2

    Csak azért, mert átirányít, nem jelenti azt, hogy a szkript leáll. Az átirányítás csak egy fejléc küldése. Ha nem lép ki közvetlenül ezután, a szkript többi része tovább fut. Amikor a szkript futni befejeződik, lezár minden nyitott kapcsolatot (vagy visszaengedi őket a készletbe, ha állandó kapcsolatokat használ). Ne törődj vele.

    19.09.2008

    3

    Előfordulhat, hogy korlátozva van az egyszerre megnyitható kapcsolat száma, így ha sok felhasználója van, akkor kifogyhat az SQL-kapcsolatokból. Valójában a felhasználók SQL hibákat fognak látni a szép weboldalak helyett.

    Jobb, ha megnyit egy kapcsolatot az adatok olvasásához, majd bezárja, majd megjeleníti az adatokat, és amint a felhasználó a „beküld” gombra kattint, megnyit egy másik kapcsolatot, majd elküldi az összes módosítást.

    19.09.2008
  • Valójában a felhasználók SQL hibákat fognak látni a szép weboldalak helyett. - Remélem nem display_errors = 0;! 19.09.2008
  • Bár igaz, hogy túl sok kapcsolat nyílik meg egyszerre, ez okozza ezt a problémát, az OP által leírtak NEM okozzák a kapcsolat nyitva tartását – tehát ez a válasz téves a kérdés kontextusában. 13.08.2020
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..