Durch Vorverarbeitungsanweisungen werden die Struktur und die Daten von SQL -Anweisungen getrennt, wodurch das Risiko einer böswilligen Benutzereinspritzung vermieden wird.
Verbesserung der Ausführungseffizienz <br> Für wiederholte Ausführungsanweisungen muss der Datenbankserver nur einmal die SQL -Struktur analysieren, um die Leistung zu verbessern.
Code -Struktur löschen <br> Die Parameterbindung erleichtert das Lesen des Codes und verringert die Komplexität von Spleißzeichenfolgen.
Hier ist ein Standardnutzungsbeispiel:
<Code> <? php // 1. Verbinden Sie eine Verbindung zur Datenbank $ mysqli = new MySQLi ("Gitbox.net", "Benutzername", "Passwort", "Datenbank"); // Überprüfen Sie die Verbindung
if ($ mysqli-> connect_errno) {
Die ("Verbindung fehlgeschlagen:". $ mysqli-> connect_error);
}
// 2. Bereiten Sie SQL -Anweisungen vor
$ sql = "In Benutzer (Benutzername, E -Mail, Alter) Werte (?,?,?)" einfügen ";
$ STMT = $ Mysqli-> vorbereiten ($ sql);
if (! $ stmt) {
sterben ("Vorverarbeitung fehlgeschlagen:". $ mysqli-> Fehler);
}
// 3.. Parameter binden
// 'SSI' repräsentiert Parametertyp, s repräsentiert String, und ich repräsentiert Ganzzahl
$ userername = "alice";
$ mail = " [email protected] ";
$ Alter = 25;
$ stmt-> bind_param ("ssi", $ userername, $ mail, $ ay);
// 4. Ausführen von Anweisungen ausführen
if ($ stmt-> execute ()) {
Echo "erfolgreich einfügen, die Einfügungs -ID lautet:". $ stmt-> insert_id;
} anders {
Echo "Ausführung fehlgeschlagen:". $ stmt-> fehler;
}
// 5. Aussagen und Verbindungen schließen
$ stmt-> close ();
$ mysqli-> close ();
?>
</code>
Verwenden Sie neue MySQLI (Host, Benutzer, Pass, DBName), um eine Verbindung zur Datenbank herzustellen.
Es wird empfohlen, in Produktionsumgebungen Ausnahmebehandlung oder Fehlerprotokolle anstelle von Die () zu verwenden.
Ein Fragezeichen verwenden ? als Parameter -Platzhalter in SQL -Anweisungen.
Wenn Prepe () False zurückgibt, bedeutet dies einen Syntaxfehler oder eine Verbindungsausnahme.
Binden Sie Variablen in die Argumente der Aussage.
Parametertypen werden durch Zeichenfolgen dargestellt, gemeinsame sind:
s String (String)
Ich ganze Zahl
D doppelte Präzision (doppelt)
B binär (Blob)
Die Variable muss ein Referenzpass sein und muss vor der Ausführung zugewiesen werden.
Rufen Sie $ stmt-> execute () an , um die Vorverarbeitungsanweisung auszuführen.
Zu beurteilen, ob die Ausführung auf der Grundlage des zurückgegebenen Ergebniss erfolgreich ist.
Schließen Sie die Vorverarbeitungsanweisung $ stmt-> close (), um die Serverressourcen freizugeben.
Schließen Sie die Datenbankverbindung $ MySQLI-> close () .
Parametertypen müssen korrekt übereinstimmen <br> Ein falscher Parametertyp kann ein Dateninsertionsfehler oder Datentyp -Konvertierungsfehler verursachen.
Die gebundene Variable muss vor der Ausführung zugewiesen werden <br> Andernfalls können Null- oder falsche Werte eingefügt werden.
Ausnahme- und Fehlerprotokollprotokoll <br> Es wird nicht empfohlen, Die () direkt zu verwenden. Sie können den Ausnahmemechanismus verwenden, um Fehler zu erfassen, um die Robustheit des Programms zu gewährleisten.
Batch -Einsatz <br> Wenn Batch -Einsätze erforderlich sind, können Sie Schleifenbindungsparameter und Ausführung verwenden. Es wird jedoch empfohlen, Transaktionen zur Gewährleistung der Atomizität zu aktivieren.
Charaktercodierungskonsistenz <br> Stellen Sie sicher, dass die Charaktercodierung der Datenbank- und PHP -Skripte konsistent ist, und vermeiden Sie verstümmelten Code.
insert_id Achtung <br> Stellen Sie bei der Verwendung von $ stmt-> insert_id den automatischen Primärschlüssel sicher, dass in der Tabelle autoIncrement-Spalten vorhanden sind.