„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie teile ich eine MySQLi-Verbindung zwischen verschiedenen Klassen in PHP?

Wie teile ich eine MySQLi-Verbindung zwischen verschiedenen Klassen in PHP?

Veröffentlicht am 02.11.2024
Durchsuche:462

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

Verwendung von MySQLi in Klassen: Ein Leitfaden zur Fehlerbehebung

Die Verwendung von MySQLi aus verschiedenen Klassen kann eine Herausforderung sein, aber keine Sorge. Lassen Sie uns die aufgetretenen Probleme untersuchen und eine Lösung anbieten.

Problem: Interner Serverfehler 500

  • Ursache: Versuch um auf die Conn-Eigenschaft des Datenbankobjekts zuzugreifen, nachdem es in einer anderen Klasse (MyAPI) erstellt wurde.

Lösung: Initialisieren Sie das Datenbankobjekt im MyAPI-Konstruktor und übergeben Sie es als Parameter für andere Funktionen, die eine Datenbankverbindung erfordern. Dadurch wird sichergestellt, dass alle Klassen, die die Verbindung teilen, einen direkten Verweis auf dieselbe Instanz haben.

Beispiel:

// 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);

Zusätzliche Überlegungen:

  • Vermeiden Sie die Erweiterung des Benutzers aus der Datenbank, da dies nicht erforderlich ist.
  • Erstellen Sie direkt eine einzelne MySQLi-Instanz und übergeben Sie sie an Klassen, die sie benötigen.
  • Verwenden Sie vorbereitete Anweisungen für mehr Sicherheit und Leistung.
  • Stellen Sie sicher, dass die Datenbankverbindungsparameter korrekt sind und die Datenbank korrekt ist zugänglich.

Wenn Sie diese Schritte befolgen, sollten Sie in der Lage sein, MySQLi aus verschiedenen Klassen in PHP erfolgreich zu verwenden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3