simenss Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 Om man f.eks. skal hente ut opplysninger fra en mySQL-database på ti forskjellige steder i et script, lønner det seg å koble til databasen en gang (øverst i scriptet), eller lage en funksjon som kobler til databasen for hver spørring? Lenke til kommentar
Gjest Slettet+142 Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 Vil tro det lønner seg med å koble til en gang istedenfor flere ganger. Lenke til kommentar
Ståle Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 Det er sann jeg ogsa gjor det.. Men hva trenger vi mysql_close() til da? Lenke til kommentar
Arve Systad Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 Du har ikkje så vanvittig stort behov for den, så du treng den mest sannsynlegvis ikkje Lenke til kommentar
Gjest Slettet+142 Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 mysql_close() er vel for å avslutte en åpen tilkobling på riktig vis. Gjøres sikkert uansett, men om en spørring skulle ha hengt seg i mysql-en mens php-en avslutte skriptet, kunne data gått tapt. Tror jeg. Lenke til kommentar
Bakke Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 Ser ikke noe poeng i å koble til databasen flere ganger i løpet av et script, eneste resultatet er vel bare at det tar lengre tid å kjøre scriptet... Selv bruker jeg mysql_close for ordens skyld egentlig Lenke til kommentar
nree Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 Har aldri brukt mysql_close, har ikke forstått vitsen? Lenke til kommentar
ventle Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 det er vanligvis ikke nødvendig å bruke mysql_close ettersom php er laget såpass idiotsikkert at alle åpne strømmer blir stengt når scriptet er ferdigkjørt uansett. Derimot kan det være nyttig å stenge tilkoblingen til mysql-servern midlertidig for å frigjøre minne, som kjent har php en ganske begrenset minnemengde tilgjengelig under kjøring, og minnehungrige operasjoner som for eksempel bildebehandling, lesing av innholdet i store filer, tilkoblinger til andre servere vil kræsje dersom du bruker opp minnegrensen (på min server er den på 16 MB, dyrere host'er kan kanskje ha mer). Ved å bruke mysql_close frigjør man en del minne, er ikke sikker på hvor mye, det avhenger muligens av hvor mange og hvor store spørringer man kjører (regner med alle husker å bruke mysql_free_result() etter hver eneste spørring). Lenke til kommentar
Gjest Slettet+142 Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 (regner med alle husker å bruke mysql_free_result() etter hver eneste spørring). 8537442[/snapback] ehm.. hv er det den gjør? Lenke til kommentar
ventle Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 når du kjører $res = mysql_query("SELECT...."); blir $res en ressurs som opptar mer eller mindre minne. mysql_free_result($res) sletter $res fra minnet og frigjør den minnemengden den opptok, og bør kjøres så fort man er ferdig med å hente ut dataene man får ut av $res. Lenke til kommentar
Ernie Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 (endret) Mamma mia for en elendig skikk folk bruker her da? Selvsagt skal tilkobling lukkes ellers er den jo åpen til den når timeout (som nok ikke er når scriptet avsluttes). Har man bare lov til å ha få tilkoblinger mot mysql-server så er det et helvete når folk ikke gjør jobben skikkelig å lukker tilkoblingene når de er ferdig. Edit: Selvsagt er det fordelaktig å koble seg til mysql færrest mulig ganger. Å opprette og lukke en tilkobling tar tid det også. Endret 5. mai 2007 av Ernie Lenke til kommentar
ventle Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 ellers er den jo åpen til den når timeout (som nok ikke er når scriptet avsluttes). 8542843[/snapback] Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. Lenke til kommentar
Ernie Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 Greit nok, men det gjør det ikke pent. PHP er vel stort sett eneste programmeringsspråk (om PHP i det heltatt kan kalles programmering) hvor man kan gjøre slikt. Når man åpner noe er det god programmeringsskikk å lukke det også. Lenke til kommentar
ventle Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 PHP er vel stort sett eneste programmeringsspråk hvor man kan gjøre slikt. 8545855[/snapback] det har du helt rett i, det er også den store fordelen (og ulempen) med php som gjør at hvem som helst kan lage script som (stort sett) fungerer. Er forøvrig helt enig med deg, men når selv manualen sier det så velger jeg å stole på den... (om du måtte lure, jeg bruker bestandig mysql_close() før jeg avslutter scriptet) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå