7
votes

Une connexion mysqli peut-elle être rouverte sans instantiquer un nouvel objet

juste une question rapide ici:

Si je choisis le style orienté objet pour interagir avec ma base de données, c'est-à-dire ...

$ mysqli = nouveau mysqli ("localhost", "my_user", "mon_password", "monde");

et j'utilise ensuite $ mysqli-> ferme (); pour fermer la connexion à un moment donné ...

Puis-je rouvrir cette connexion en initiant simplement une autre requête $ mysqli-> requête (); ou dois-je instancier un nouvel objet MySQLI?


2 commentaires

@YourCommonsense - Pourquoi les réponses antiques sont-elles pas suffisantes?


@RickJames Il y a un assez récent :)


3 Réponses :


6
votes

Non, vous devez instancier un nouvel objet MySQLI. Vous pouvez utiliser la même variable $ mysqli code> mais vous devez écrire ce code à nouveau:

 $mysqli = new mysqli("localhost", "my_user", "my_password", "world");


0 commentaires

4
votes

Vous ne pouvez tout simplement pas fermer la connexion MySQLI et le réutiliser.


2 commentaires

Pas seulement "pourrait", mais "devrait".


Lorsque vous attendez des données, d'une intégration, par exemple, c'est une assez bonne raison de fermer la connexion et de la rouvrir une fois que vous avez reçu les données. De cette façon, vous évitez "trop ​​de connexions".



5
votes

Bien que ce ne soit pas dans la documentation, mysqli :: Connect () est une méthode et vous pouvez l'utiliser pour "reconnecter" votre objet -Appears pour simplement être un alias pour le constructeur. xxx


1 commentaires

Je soupçonne que 1% des efforts sont dans le "nouveau" et 99% des efforts sont dans "Connect".