Matti Maekitalo: "standard-konformes" SQL für DB-Abstraktion

Beitrag lesen

use Mosche;

Entwickele gerade an einem Projekt in dem ich PHP/PEAR zur DB-Abstraktion verwenden möchte. Die Abfragen sollen zumindest unter MySQL und PostgreSQL laufen. Da habe ich erstmal eien spezielle Frage:

ich bekomme einen Assoziativen Array von der DB zurück, der direkt alle Spaltennamen beider Tabellen "index" enthält.

Ich habe noch nie mit PHP gearbeitet, habe allerdings die selbe Ausgangslage wie du (lokal PostGreSQL, im Einsatz MySQL). Ich lasse mir (in Perl) von meinem Datenbank-handle keinen Hash (assoziativen Array) zurückliegern, sondern eine Liste. Wenn du die Spaltennamen nicht _noch einmal_ explizit benötigst (da du sie durch dein Select sowieso schon kennst, und dadurch die Reihenfolge auch bekannt ist), könntest du dieses Problem so vermeiden.

Kennt Ihr vielleicht noch ein paar typische "Stolpersteine" wenn man eine Anwendung mit Datenbank-Abstraktion programmieren will? Speziell MySQL und PostgreSQL betreffend? Wie sieht das aus mit Transaktionen?  COMMIT und END kennen wohl beide, aber welchen Tabellentreiber würdet Ihr für mySQL(3.23.54) empfehlen?

Ich habe bei mir keine großen Fallen entdeckt, nur ein paar Inkonsistenzen was LIMIT und OFFSET angeht (die in der Kurzform (nur diese kennt Pg) jeweils anders herum verwendet werden).

Eine Frage nur so nebenbei: stimmt es, daß MySQL kein Boolean kennt? Danach habe ich nämlich fast verzweifelt gesucht, und bin jetzt auf integer (0, 1) umgestiegen, was allerdings nicht so optimal ist.

use Tschoe qw(Matti);

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.