Die Verwendung von vorbereiteten Anweisungen, die von PHP für Postgres
Dies ist eine ähnliche Frage zu diesem "Wenn Sie nicht zur Verwendung von Vorbereiteten Anweisungen?", aber mit dem "how-to" -Teil und für PostgreSQL.
Ich weiß, dass ich brauche Anweisungen vorbereitet, weil ich mehr als ein Aufruf an meine Datenbank während einer Skript.
Hätte ich gerne konkrete Beispiele über die folgenden Satz
Blick auf typecasting, zu validieren und zu bereinigen Variablen und Verwendung von PDO mit prepared statements.
Ich wissen, was er damit meine validieren und zu bereinigen Variablen. Allerdings bin ich mir nicht ganz sicher über prepared statements. Wie bereiten wir Aussagen? Durch Filter, die durch Filterung? Oder durch ein PDO-Schicht? Was ist die definition der layer?
Was prepared statements meine, in der Aussage? Bitte, verwenden Sie konkrete Beispiele.
- Danke für Eure Antworten!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Dokumentation:
Diese Funktion ermöglicht es Befehle, die wiederholt verwendet werden, um analysiert zu werden und geplant nur einmal, anstatt jedes mal, wenn Sie ausgeführt werden.
Sehen pg_prepare
Beispiel aus der oben verlinkten Seite:
Den Die MySQL-Dokumentation für Anweisungen Vorbereitet schön beantwortet die folgenden Fragen:
Aussagen?
pg_query = pg_prepare + pg_pg_execution - ability_to_run_a_list_vars_to_a_statement
.Bedeutet es, es wird Ihnen helfen, verhindern, dass SQL-injection-Angriffe, indem die Notwendigkeit, manuell zu zitieren, die Parameter.
Statt eine variable in der sql-Verwendung eines namens-oder Fragezeichen marker für die echten Werte ersetzt werden, wenn die Anweisung ausgeführt wird.
Definition von PDO aus dem PHP-manual:
'Die PHP Data Objects (PDO) Erweiterung definiert, die eine leichte, konsistente Schnittstelle für den Zugriff auf Datenbanken in PHP.'
Finden Sie im php-Handbuch auf PDO und PDO::prepare.
Ein Beispiel für ein prepared statement mit benannten Marker:
Ein Beispiel für ein prepared statement mit Fragezeichen-Marker:
Wie können wir prepare-Anweisungen:
Definieren Sie eine Abfrage einmal, und bezeichnet Sie so oft, wie Sie mit verschiedenen Werten. (zB. in einer Schleife)
finden Sie unter: http://us2.php.net/manual/en/function.pg-execute.php
Antwort auf Karim79 Antwort
Diese
scheint das gleiche zu sein wie dieser
Fazit: die Verwendung von
pg_prepare
undpg_execute
macht PHP viel effizienter, da Sie nicht brauchen, um Bedenken bereinigen. Es hilft auch, Sie in der Verwendung von PDO.