Auge: Konzept: PHP-include oder mySQL stored procedures?

Beitrag lesen

Hallo

Welche Datenbankverbindung ist denn noch offen, wenn du ein PHP-Skript per Ajax aufrufst?

Keine. Deswegen öffnet das Script sie ja.

Aber wenn er es aus PHP heraus aufruft, gibt's schon eine MYSQLi-Verbindung, von der das Ajax-Script aber nichts weiß.

Genau dieses Argument verstehe ich nicht. Wenn die Seite, aus der heraus später ein Ajax-Request erfolgen wird, an den Browser ausgeliefert wird, mag dort (noch) eine I-lose MySQL-Verbindung hergestellt werden. Die wird aber mit dem Ende der Abarbeitung dieses Skripts geschlossen und ist Geschichte. Erfolgt nun später der Ajax-Request, wird ein (anderes?) PHP-Skript aufgerufen, das seine eigene, nunmehr auf MySQLi basierende Datenbankverbindung herstellt. Wo kommt an dieser Stelle bitte eine andere, bereits offene Datenbankverbindung her?

Es öffnet selbst, und nun gibt es parallel eine MYSQLi und eine MYSQL Verbindung zur DB. Es ist zu hoffen, dass die beiden Treiber sich nicht gegenseitig beharken.

Ich habe sowas zwar noch nicht ausprobiert, aber aus der Logik heraus, dass in einem Skript durchaus mehrere Datenbankverbindungen mit einer Engine (MySQL oder MySQLi) hergestellt und unterhalten werden können, kann ich mir nicht vorstellen, dass das ein Problem ist.

Jede Verbindung hat ihren Handler, der (zumindest bei MySQLi) in den Funktionsaufrufen sowieso angegeben werden muss, so dass das sauber auseinandergehalten werden kann. Bei Aufrufen mit der MySQL-Bibliothek ist die Angabe des Handlers zwar optional, aber nicht verboten, so dass das auch dort kein grundsätzliches Problem sein sollte. Verschiedene Handler, verschiedene Verbindungen. Ich vermute, dass man auch MySQLi und PDO für mehrere Datenbankverbindungen parallel in einem Skript verwenden könnte.

Tschö, Auge

--
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett