Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich die Funktion MySQLI :: $ Info, um eine Echtzeitüberwachung des SQL-Ausführungsstatus zu erreichen?

Wie benutze ich die Funktion MySQLI :: $ Info, um eine Echtzeitüberwachung des SQL-Ausführungsstatus zu erreichen?

gitbox 2025-09-30

Die Überwachung des Ausführungsstatus von SQL -Abfragen ist entscheidend für das Debugieren und Optimieren der Leistung bei der Entwicklung von PHP -Anwendungen. Die MySQLI -Erweiterung bietet uns mehrere Möglichkeiten, mit der MySQL -Datenbank zu interagieren, in der die Funktion MySQLI :: $ info ein leistungsstarkes Tool zum Erhalt detaillierter Informationen über die zuletzt ausgeführte SQL -Abfrage ist. In diesem Artikel wird vorgestellt, wie die Funktion MySQLI :: $ info verwendet wird, um den SQL -Ausführungsstatus in Echtzeit zu überwachen.

1. Was ist die MySQLI :: $ -Info -Funktion?

MySQLI :: $ Info ist eine Eigenschaft der PHP MySQLI -Klasse, die detaillierte Informationen zur Interaktion mit der Datenbank liefert, insbesondere nachdem die Abfrage ausgeführt wurde. Durch diese Eigenschaft können Entwickler den Status der Ausführung von SQL -Anweisungen einschließlich der Anzahl der betroffenen Zeilen, Warninformationen usw. erhalten.

Diese Eigenschaft wird hauptsächlich in den folgenden Szenarien verwendet:

  • Erhalten Sie statistische Informationen nach SQL -Abfrageausführung

  • Überprüfen Sie, ob es während der SQL -Ausführung Warnungen gibt

  • Holen Sie sich die Anzahl der betroffenen Zeilen (z. B. nach einer Aktualisierung oder Löschung)

2. Wie benutze ich die Funktion mySQLI :: $ info?

MySQLI :: $ Info ist eine schreibgeschützte Eigenschaft, die eine Nachricht zurückgibt, die sich mit der Ausführung der letzten SQL-Anweisung bezieht. Die grundlegende Verwendung ist wie folgt:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Erstellen Sie eine Datenbankverbindung</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"username"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"database_name"</span></span><span>);

</span><span><span class="hljs-comment">// Überprüfen Sie, ob die Verbindung erfolgreich ist</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Verbindung ist fehlgeschlagen: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error);
}

</span><span><span class="hljs-comment">// implementierenSQLAbfrage</span></span><span>
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"UPDATE users SET status = 'active' WHERE last_login &gt; '2025-01-01'"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>) === </span><span><span class="hljs-literal">TRUE</span></span><span>) {
    </span><span><span class="hljs-comment">// AusgabeSQLimplementieren状态</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"SQLimplementieren成功: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;info;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"SQLimplementieren失败: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;error;
}

</span><span><span class="hljs-comment">// Schließen Sie die Verbindung</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Im obigen Beispiel können wir nach der Ausführung der Update- Anweisung die Details der SQL-Ausführung über $ mysqli-> Info erhalten. Wenn SQL erfolgreich ausgeführt wird, wird eine Information über die Anzahl der betroffenen Zeilen zurückgegeben. Wenn die SQL -Ausführung fehlschlägt, gibt sie eine Fehlermeldung aus.

3.. Gemeinsamer Rückgabewert von MySQLI :: $ Info Funktion

Der Rückgabewert von MySQLI :: $ Info enthält normalerweise Folgendes:

  • Anzahl der betroffenen Zeilen : Zum Beispiel für Vorgänge wie Einfügen , Aktualisieren , Löschen usw. gibt MySQLI :: $ Info die Anzahl der betroffenen Zeilen zurück.

  • Anzahl der Warnungen : Wenn bei der Ausführung von SQL eine Warnung auftritt, kann der zurückgegebene Inhalt die Anzahl der Warnungen anzeigen.

  • Weitere Abfrageinformationen : Für bestimmte Abfragen kann MySQLI :: $ Info auch andere Ausführungsinformationen zurückgeben.

Zum Beispiel :

 <span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"UPDATE users SET status = 'active' WHERE last_login &gt; '2025-01-01'"</span></span><span>;
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;info; </span><span><span class="hljs-comment">// zurückkehren:Records updated: 50</span></span><span>
</span></span>

In diesem Beispiel gibt MySQLI :: $ Info eine Nachricht zurück, die angibt, dass 50 Datensätze aktualisiert wurden.

V.

Um die Echtzeitüberwachung des SQL-Ausführungsstatus zu realisieren, können wir ständig Abfrageinformationen über MySQLI :: $ Info erhalten und nach jeder SQL-Operation überprüfen. Diese Methode eignet sich besonders zum Debuggen oder Leistungsanalyse während der Entwicklungsphase.

Wenn Sie beispielsweise mehrere SQL -Abfragen in Stapeln ausführen, können wir den Effekt der einzelnen Operationen überwachen, indem wir den Rückgabewert von MySQLI :: $ Info nach jeder Abfrage aufzeichnen:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$queries</span></span><span> = [
    </span><span><span class="hljs-string">"INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]')"</span></span><span>,
    </span><span><span class="hljs-string">"UPDATE users SET status = 'inactive' WHERE last_login &lt; '2024-01-01'"</span></span><span>,
    </span><span><span class="hljs-string">"DELETE FROM users WHERE id = 101"</span></span><span>
];

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$queries</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$query</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$query</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Abfrageimplementieren成功: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;info . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Abfrageimplementieren失败: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;error . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
    }
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

In diesem Beispiel geben wir bei der Ausführung einer Abfrage sofort den Ausführungsstatus der aktuellen SQL-Anweisung über $ mySQLI-> Info aus. Dies ist sehr hilfreich für Stapeloperationen oder eine komplexe Transaktionsverarbeitung und kann uns helfen, die Ausführungsgebnisse in Echtzeit zu überwachen.

5. Dinge zu beachten

  1. Nur für die letzte SQL -Anweisung anwendbar : MySQLI :: $ Info kann nur Feedback zur letzten ausgeführten SQL -Anweisung geben. Wenn Sie mehrere Abfragen im selben Skript ausführen, wird die Ausführungsinformationen der letzten Abfrage nur zurückgegeben.

  2. Datenbankverbindungsproblem : Wenn ein Problem mit der Datenbankverbindung vorliegt, gibt MySQLI :: $ Info möglicherweise keine gültigen Informationen zurück. Sie sollten daher sicherstellen, dass die Datenbankverbindung bei der Verwendung normal ist.

  3. Fehler und Warnungen : Mysqli :: $ Info wird hauptsächlich verwendet, um einen Überblick über die Ausführung zu erhalten. Wenn Sie detaillierte Fehlerinformationen benötigen, sollten Sie das Attribut von MySQLI :: $ Fehler verwenden.

6. Zusammenfassung

MySQLI :: $ Info ist eine sehr praktische Eigenschaft, die den Entwicklern helfen kann, den Ausführungsstatus von SQL -Abfragen in Echtzeit zu überwachen. Durch die Nutzung dieser Eigenschaft können Sie nach der Durchführung von SQL -Operationen detaillierte Ausführungsinformationen erhalten, wodurch Entwickler besser debuggen und den Code optimieren können. Insbesondere in komplexen Datenbankvorgängen und Stapelabfragen kann MySQLI :: $ Info wichtige Feedback -Informationen bereitstellen, damit Entwickler entsprechende Anpassungen vorgenommen werden können.

Wenn Sie eine PHP-Anwendung erstellen, die häufige SQL-Operationen erfordert, verbessert die Echtzeitüberwachung in Kombination mit MySQLI :: $ Info Ihre Debugging- und Optimierungseffizienz erheblich.