Tinky Winky skrev:
>
> Jeg har brugt ADODB lidt til databaseabstraktion og det virker smart nok.
> PEAR ser ud til at ligne det lidt.
>
> Hvad er bedst?
Jeg har ikke prøvet ADODB - men det taler til PEAR DB's fordel, at det
er en officiel del af PHP og pushes som den "officielle" PHP-database-API.
> Er ens SQL virkelig 100% portabel?
Næ, nej. At lave 100% portable løsninger kræver ikke bare, at man bruger
PEAR DB, men også, at man ved lidt om, hvilke SQL-ting, der er standard,
og hvilke, der ikke er.
> Skal man ikke bruge en masse af klassens
> specielle funktioner til fx LIMIT, for at det vil virke på alle andre
> databaser?
I realiteten er det ikke så mange gange, man får brug for klassens
specielle funktioner. I LIMIT gør man dog, siden LIMIT faktisk ikke er
nogen SQL-standard. Microsoft SQL Server har den slet ikke indbygget, i
Oracle hedder den nogen andet osv. Metoden limitQuery()
(
http://pear.php.net/manual/en/core.db.limitquery.php) skulle dog løse
det problem.
> Er der en nem måde at vide om ens SQL er portabel?
Ja - se i manualen. Både i PostgreSQL- og i MySQL-manualen står det som
regel, om en given funktion er en officiel del af SQL-standarden eller ikke.