[ bojan_bozovic @ 14.10.2005. 15:15 ] @
Sta mi je bolje, da se konektujem sa mysql_connect i vrsim upite pa da PHP sam zatvori konekciju kad se strana generise, ili da za svaki upit vrsim mysql_connect... mysql_select_db... mysql_query... mysql_close? Sta je bolje, ako je saobracaj veliki, sto se opterecenja same baze tice?
[ SmilieBG @ 14.10.2005. 16:02 ] @
uvek je bolje da radis close na kraju. mysql server sam 'gasi' ne aktivne konekcije i ako si jedini na masini, sa nekoliko konekcija nije problem...

Ali ako drzis sajt na shared hostingu, pa vas ima vas 100 na 1 mashini, svaki sa po nekoliko konekcija... eto radosti :)

Poz,
Sale
[ _owl_ @ 14.10.2005. 20:25 ] @
Kada skripta krene da se izvrsava uradis mysql_connect, kada zavrsis sa svim upitima na kraju pozoves mysql_close, povezivanje na bazu moze biti skupa operacija. Obrati paznju da ako hoces rucno da zatvaras konekciju budes doledan i svaki put kada radis redirect, die ili exit prethodno pozoves mysql_close.
[ bojan_bozovic @ 15.10.2005. 07:22 ] @
Imam jos jedno pitanje vezano za nestovan mysql_connect - naime, ako budem koristio skriptu za statistiku koju u stvari ne mogu menjati (proprietary) da li da mu udrim mysql_close pre poziva skripte ili nakon - dakle, da li je dobro imati 2 nestovana mysql_connect-a ili da zatvorim konekciju sa bazom prvo (jer ta skripta koristi MySQL)?
[ seymour @ 15.10.2005. 14:40 ] @
Posto je otvaranje konekcije sa BP zahtevan proces,mogao bi da razmislis da uvek imas otvoren niz(set) konekcija,pa ako skripta ima potrebu za konekcijom,preuzme neku od slobodnih,otvorenih konekcija iz niza,a ako takvih nema(tj. sve su zauzete) otvori novu.Posto skripta zavrsi koriscenje baze izvrsi se oslobadjanje konekcije,ili ako je broj konekcija veci od nekog predefinisanog broja,zatvara se konekcija.Ovo se u literaturi naziva connection pooling.Ne znam kako se ovo resava u PHP-u,ali u JAVI se radi lako.
A ovo drugo,verovatno je bolje prvo zatvoriti(ili ako koristis connection pooling vratiti)konekciju,pa tek onda otvoriti(uzeti)novu.
[ dado_k @ 23.10.2005. 20:14 ] @
zar ti nije najbolje napraviti svoju funkciju nešto ovako

<?php

function c($q){
$server="localhost";

$user="root";
$pass="";
$baza="baza";

$l=mysql_connect($server,$user,$pass);
mysql_select_db($baza);
$sql=mysql_query($q)or die(mysql_error());
mysql_close($l);
return ($sql);
}
?>
[ Riste Pejov @ 31.10.2005. 08:49 ] @
Kad se radi o PHP-u najbolje je koristiti mysql_pconnect(). ova funkcija radi sve sto ti je rekao seymor (tzv connection pool). I dozvoljava php-u da optimizira konekcije prema bazi. Sto znaci kad prvi put uradis pconnect onda php otvori novu konekciju, kada po drugi put uradis pconnect php prover dali vec ima slobodnu konekciju, ako ima onda je uzme, ako nema onda otvori novu.

Tako da ... za koju i da bilo bazu u PHP povezi se sa:

imebaze_pconnect();