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

Conversion de mysql en mysqli - comment obtenir un objet de connexion superglobal ?

Compter sur le fait que PHP utilisera la dernière ressource de connexion ouverte si vous n'en spécifiez pas n'est probablement pas une très bonne idée.
Que se passe-t-il si votre application change et que vous avez besoin de deux connexions, ou si la connexion n'est pas là ?
Il semble donc que vous ayez besoin de refactoriser de toute façon.

Voici une solution similaire à celle de Karsten qui renvoie toujours le même objet mysqli.

class DB {
    private static $mysqli;
    private function __construct(){} //no instantiation

    static function cxn() {
        if( !self::$mysqli ) {
            self::$mysqli = new mysqli(...);
        }
        return self::$mysqli;
    }
}        

//use
DB::cxn()->prepare(....