Was bedeutet PHP-Vorverarbeitung?

(*-*)浩
Freigeben: 2023-02-26 18:22:01
Original
4020 Leute haben es durchsucht

Viele ausgereiftere Datenbanken unterstützen das Konzept vorbereiteter Aussagen. Was sind vorbereitete Aussagen? Betrachten Sie es als eine kompilierte Vorlage des SQL, das Sie ausführen möchten, das mithilfe variabler Parameter angepasst werden kann.

Was bedeutet PHP-Vorverarbeitung?

Vorbereitete Anweisungen können zwei große Vorteile bringen:

Query It only muss einmal analysiert (oder vorverarbeitet) werden, kann aber mehrmals mit denselben oder unterschiedlichen Parametern ausgeführt werden. Wenn eine Abfrage fertig ist, analysiert, kompiliert und optimiert die Datenbank den Plan zur Ausführung der Abfrage. (Empfohlenes Lernen: PHP-Video-Tutorial)

Bei komplexen Abfragen dauert dieser Vorgang lange. Wenn dieselbe Abfrage mehrmals mit unterschiedlichen Parametern wiederholt werden muss, dauert der Vorgang Verlangsamt die Anwendung erheblich. Durch die Verwendung vorbereiteter Anweisungen können Sie wiederholte Analyse-/Kompilierungs-/Optimierungszyklen vermeiden. Einfach ausgedrückt verbrauchen vorbereitete Anweisungen weniger Ressourcen und werden daher schneller ausgeführt.

Parameter, die für vorbereitete Anweisungen bereitgestellt werden, müssen nicht in Anführungszeichen gesetzt werden, der Treiber verarbeitet sie automatisch. Wenn Ihre Anwendung nur vorbereitete Anweisungen verwendet, können Sie sicherstellen, dass keine SQL-Injection erfolgt. (Wenn jedoch andere Teile der Abfrage aus nicht maskierten Eingaben erstellt werden, besteht immer noch das Risiko einer SQL-Injection.)

Vorbereitete Anweisungen sind so nützlich, dass ihre einzige Funktion darin besteht, dass PDO die Verarbeitung simuliert, wenn der Treiber dies nicht unterstützt. Dadurch wird sichergestellt, dass Anwendungen dasselbe Datenzugriffsmuster verwenden können, unabhängig davon, ob die Datenbank über solche Funktionen verfügt.

Verwenden Sie vorbereitete Anweisungen, um Daten zu erhalten

Das folgende Beispiel ruft Daten basierend auf der bereitgestellten Form des Schlüsselwerts ab. Benutzereingaben werden automatisch in Anführungszeichen gesetzt, sodass keine Gefahr von SQL-Injection-Angriffen besteht.

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET[&#39;name&#39;]))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
?>
Nach dem Login kopieren

Wenn der Datenbanktreiber dies unterstützt, kann die Anwendung auch Ausgabe- und Eingabeparameter binden. Ausgabeparameter werden normalerweise verwendet, um Werte aus gespeicherten Prozeduren zu erhalten. Ausgabeparameter sind etwas komplizierter zu verwenden als Eingabeparameter, da Sie beim Binden eines Ausgabeparameters die Länge des angegebenen Parameters kennen müssen. Wenn der an einen Parameter gebundene Wert größer als die empfohlene Länge ist, wird ein Fehler generiert.

Das obige ist der detaillierte Inhalt vonWas bedeutet PHP-Vorverarbeitung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!