2016-08-25 2 views
-2

In meiner Seite A.php bereite ich eine Abfrage wie folgt aus: SELECT * FROM table WHERE id = ?PDO Prepared Statements - Quer Seite

Und ich kann in dieser Seite gleichen PDO Prepared-Anweisungen verwenden, die ich kenne.

Aber, wenn andere Seite B.php auch die gleiche Abfrage benötigen.

Muss ich diese Abfrage erneut vorbereiten?

Oder wie kann ich die gleichen vorgefertigten PDO-Anweisungen verwenden.

Oder wenn ich die gleiche Abfrage vorbereiten, wird der Server automatisch wissen, dass vorbereitet wurde?


Situation:

Wenn ich eine Datenbank Website haben, dann gibt es Hunderte von Seiten Daten zu laden ebenso wie die gleiche Art und Weise.

Wenn Benutzer jede Seite öffnen, wird die Abfrage jedes Mal gesendet.

Wie kann ich die Seite klüger erstellen?


Ich bin nicht auf der Suche nach der Verwendung der gleichen "STRING" der Abfrage;

Ich meine es sind vorbereitete Aussagen, die ich nicht mit $ PDO-> wieder vorbereiten.

Ist es möglich?

+0

Sie entweder die Abfrage zu 'B.php' hinzufügen zu tun haben müssen, oder die Abfrage in einer separaten Datei platzieren, dh. 'includes.php', und schließen Sie es in' A.php' und 'B.php' ein. – Sean

+0

Aber wie kann ich die letzten vorbereiteten Aussagen weitergeben? – fire790620

+0

Verstehen Sie, wie PHPs Verarbeitungsmodell funktioniert? Jede Anfrage startet ohne zugewiesene Ressourcen und vorherige Variablen. Wie würden Sie sich vorstellen, ein vorbereitetes $ statement/handle/object zwischen A.php und B.php wiederzuverwenden? – mario

Antwort

2

Per Definition sind PHP-Skripte eigenständig. Wenn Sie also A.php laden, müssen Sie eine Verbindung zur Datenbank herstellen und Ihre Abfragen ausführen. Wenn A.php fertig ist, wird PHP die Verbindung schließen.

Wenn Sie B.php laden Sie die gleiche Sache

+0

So, PDO Prepared Aussagen können ' t Seitenverbrauch verwenden? – fire790620

+0

Nein. Sie können die Abfrage über Includes wiederverwenden, aber vorbereitete Anweisungen erfordern eine offene Verbindung zu Ihrer DB. – Machavity

+0

Ich habe die Situation über meine Website bearbeitet, gibt es eine Solve-Methode? Oder das nur die einzige Möglichkeit, jede Seite abzufragen? – fire790620

Verwandte Themen