Normalmente, las conexiones ocurren una vez que se carga una página. También conocido como
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')");
Básicamente, abre la conexión al principio de la página, la cierra en la página final. Luego, puede realizar varias consultas durante la página y no tiene que hacer nada en la conexión.
Incluso podrías hacer mysql_connect en el constructor como sugiere Erik.
Para usar lo anterior usando variables globales (no sugerido ya que crea un estado global), haría algo como
Global $db;
$db = new Database;
// ... do startup stuff
function doSomething()
{
Global $db;
$db->query("Do Something");
}
Ah, y nadie mencionó que no tienes que pasar un parámetro. Solo conéctate
mysql_connect();
Entonces, mysql_query solo usará la última conexión sin importar el alcance.
mysql_connect();
function doSomething()
{
mysql_query("Do something");
}
Según los comentarios:
Es posible que desee considerar si usa mysql_connect
o mysql_pconnect
. Sin embargo, solo debe conectarse una vez por secuencia de comandos.