Normalt sker anslutningar en gång en sida laddas. 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')");
I princip öppnar du anslutningen i början av sidan, stänger den på slutsidan. Sedan kan du göra olika frågor under sidan och behöver inte göra något åt anslutningen.
Du kan till och med göra mysql_connect i konstruktorn som Erik föreslår.
För att använda ovanstående med globala variabler (föreslås inte eftersom det skapar global status), skulle du göra något liknande
Global $db;
$db = new Database;
// ... do startup stuff
function doSomething()
{
Global $db;
$db->query("Do Something");
}
Åh, och ingen nämnde att du inte behöver skicka runt en parameter. Anslut bara
mysql_connect();
Sedan kommer mysql_query bara att använda den sista anslutningen oavsett omfattningen.
mysql_connect();
function doSomething()
{
mysql_query("Do something");
}
Enligt kommentarerna:
Du kanske vill överväga om du använder mysql_connect
eller mysql_pconnect
. Du bör dock fortfarande bara ansluta en gång per skript.