Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment vous connectez-vous efficacement à mysql en php sans vous reconnecter à chaque requête

Normalement, les connexions se produisent une fois qu'une page se charge. 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')");

En gros, vous ouvrez la connexion en début de page, vous la fermez en fin de page. Ensuite, vous pouvez effectuer diverses requêtes au cours de la page et vous n'avez rien à faire pour la connexion.

Vous pourriez même faire le mysql_connect dans le constructeur comme le suggère Erik.

Pour utiliser ce qui précède en utilisant des variables globales (non suggéré car cela crée un état global), vous feriez quelque chose comme

Global $db;

$db = new Database;
// ... do startup stuff

function doSomething()
{
    Global $db;
    $db->query("Do Something");
}

Oh, et personne n'a mentionné que vous n'aviez pas besoin de passer un paramètre. Connectez-vous simplement

mysql_connect();

Ensuite, mysql_query utilisera simplement la dernière connexion, quelle que soit la portée.

mysql_connect();

function doSomething()
{
    mysql_query("Do something");
}

Selon les commentaires :

Vous voudrez peut-être déterminer si vous utilisez mysql_connect ou mysql_pconnect . Cependant, vous ne devez toujours vous connecter qu'une seule fois par script.