Normalt sker forbindelser én gang en side indlæses. AKA
class Database{
public function connect()
{
$this->connection = mysql_connect();
}
// This will be called at the end of the script.
public function __destruct()
{
mysql_close($this->connection);
}
public function function query($query)
{
return mysql_query($query, $this->connection);
}
}
$database = new Database;
$database->connect();
$database->query("INSERT INTO TABLE (`Name`) VALUES('Chacha')");
Som udgangspunkt åbner du forbindelsen i begyndelsen af siden, lukker den på slutsiden. Derefter kan du lave forskellige forespørgsler på siden og behøver ikke at gøre noget ved forbindelsen.
Du kan endda lave mysql_connect i konstruktøren, som Erik foreslår.
For at bruge ovenstående ved hjælp af globale variabler (ikke foreslået, da det skaber global tilstand), ville du gøre noget lignende
Global $db;
$db = new Database;
// ... do startup stuff
function doSomething()
{
Global $db;
$db->query("Do Something");
}
Åh, og ingen nævnte, at du ikke behøver at videregive en parameter. Bare tilslut
mysql_connect();
Derefter vil mysql_query bare bruge den sidste forbindelse, uanset omfanget.
mysql_connect();
function doSomething()
{
mysql_query("Do something");
}
Ifølge kommentarerne:
Du vil måske overveje, om du bruger mysql_connect
eller mysql_pconnect
. Du bør dog stadig kun oprette forbindelse én gang pr. script.