"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment partager une connexion MySQLi entre différentes classes en PHP ?

Comment partager une connexion MySQLi entre différentes classes en PHP ?

Publié le 2024-11-02
Parcourir:317

How to Share a MySQLi Connection Between Different Classes in PHP?

Utiliser MySQLi dans les classes : un guide de dépannage

Utiliser MySQLi à partir de différentes classes peut être difficile, mais ne vous inquiétez pas. Examinons les problèmes que vous avez rencontrés et proposons une solution.

Problème : Erreur de serveur interne 500

  • Cause : Tentative pour accéder à la propriété conn de l'objet Database après l'avoir créé dans une classe différente (MyAPI).

Solution : Initialisez l'objet Database dans le constructeur MyAPI et transmettez-le en tant que paramètre à d’autres fonctions nécessitant une connexion à la base de données. Cela garantit que toutes les classes partageant la connexion ont une référence directe à la même instance.

Exemple :

// myapi.php
class MyAPI {
    private $db;

    public function __construct($db) {
        $this->db = $db;
    }

    public function getUser($id) {
        $result = mysqli_query($this->db->conn, "SELECT * FROM users WHERE id='$id'");
        return mysqli_fetch_assoc($result);
    }
}

// app.php
// Initialize database once
$db = new mysqli(...);

// Create MyAPI instance with database reference
$api = new MyAPI($db);

// Use MyAPI to access user information
$user = $api->getUser(1);

Considérations supplémentaires :

  • Évitez d'étendre l'utilisateur à partir de la base de données, car ce n'est pas nécessaire.
  • Créez directement une seule instance mysqli et transmettez-la aux classes qui en ont besoin.
  • Utilisez des instructions préparées pour une meilleure sécurité et de meilleures performances.
  • Assurez-vous que les paramètres de connexion à la base de données sont corrects et que la base de données est accessible.

En suivant ces étapes, vous devriez pouvoir utiliser avec succès MySQLi à partir de différentes classes en PHP.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3