Zwykle połączenia mają miejsce po załadowaniu strony. alias
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')");
Zasadniczo otwierasz połączenie na początku strony, zamykasz je na stronie końcowej. Następnie możesz wykonywać różne zapytania na stronie i nie musisz nic robić z połączeniem.
Możesz nawet wykonać mysql_connect w konstruktorze, jak sugeruje Erik.
Aby użyć powyższego przy użyciu zmiennych globalnych (nie sugerowane, ponieważ tworzy stan globalny), należy zrobić coś takiego
Global $db;
$db = new Database;
// ... do startup stuff
function doSomething()
{
Global $db;
$db->query("Do Something");
}
Aha, i nikt nie wspomniał, że nie musisz przekazywać parametru. Po prostu podłącz
mysql_connect();
Wtedy mysql_query użyje tylko ostatniego połączenia, bez względu na zakres.
mysql_connect();
function doSomething()
{
mysql_query("Do something");
}
Zgodnie z komentarzami:
Możesz rozważyć, czy używasz mysql_connect
lub mysql_pconnect
. Jednak nadal powinieneś łączyć się tylko raz na skrypt.