Jester73Medlem sedan mars 2012121 inlägg
Hej
Jag jobbar på en MySQL/PHP lösning där jag nu måste köra ett antal frågor i samma script. Jag gjort en funktion, ask_db() som skapar en databasanslutning, kör en fråga och sedan stänger anslutningen.
Nu behöver jag köra ett script med ett 30 -tal frågor och min fråga är helt enkelt vad som är bäst.
Köra ovan funktion och stäng anslutningen efter varje fråga eller lägga till kod i ask_db() som kollar om anslutningen redan är aktiv och kör vidare utifrån det?
Det jag hittat är mysql_ping() men den sägs inte stödjas längre och att ping lastar ned databasen?
aasahMedlem sedan mars 20033 451 inlägg
Använd samma uppkoppling för alla frågor för hela wrbbsidan. Annars kan dina databas-handlers ta slut om du har många samtidiga användningar och även annars är ett stängande och öppnande resursslöseri.
Jag skulle bryta ut anslutning och nerstängning ur ask_db() och ha en Create_DB_Conn(), en Close_DB_Conn förutom ask_db) som sedan bara innehåller dina SQL-frågor.
Sedan anropar ditt webbsida Create_DB_Conn() först, ask_db() sedan och den sista som något av det sista som händer på sidan. Då vet du ju att anslutningen finns och är öppen mellan create och close.
Jester73Medlem sedan mars 2012121 inlägg
Jo, får nog göra på det viset. Är nog snyggast på alla sätt och vis
Men det finns inget sätt att testa ifall variabeln håller en aktiv Conn?
aasahMedlem sedan mars 20033 451 inlägg
Jag tror att du tänker fel? Innehåller inte alla dina webbsidor minst ett anrop till en databas? I så fall VET du ju att anslutningen har öppnats.