Hallo!
Ich beschäftige mich zur Zeit mit PHP und mySQL Datenbanken und wie ich gelesen habe gibt es wohl mehrere "Möglichkeiten" eine Verbindung zur Datenbank aufzubauen, ich nutze zur Zeit diese Möglichkeit und wollte mal von den "Experten" wissen ob es da irgendwelche Einsprüche oder "elegantere" Möglichkeiten gibt, oder ob das so sogar veraltet ist...
Prinzipiell ist an der von Dir verwendeten überhaupt nichts auszusetzen, so wird das schon seit langer Zeit gemacht.
Allerdings gibt es 2 wichtige Neuerungen, die vielleicht nicht heute, aber in jedem Fall in absehbarer Zeit eine nicht unwichtige Rolle spielen werden.
Zum einen - um die neueren Features ab MySQL 4.1 zu verwenden, gibt es bereits eine neue MySQL-Extension - mysqli (i=improved) : http://php.net/mysqli. mysqli bietet zudem eine objektorientierte API.
Eine in meinen Augen besonders interessante Neuerung wird mit PHP 5.1 (ich glaube eine erste beta soll es Anfang März geben) folgen. Eine komplett neue, objektorientierte, einheitliche "Datenbank-Zugriffs-API", und zwar in Form der Extension PDO (PHP Data Objects): http://php.net/pdo. Ziel dieser Extension ist es, eine einheitliche API für die verschiedenen Datenbanken bereitzustellen, die entsprechenden Treiber (in C programmiert) für spezielle Datenbanken sollen wohl auch erheblich einfacher zu schreiben sein, als für eine "komplette PHP-Extension". Dazu kommt dass der größte Teil des Datenbankzugriffs-Codes von PHP an einer Stelle zusammengefasst ist, was die Wartberkeit und Qualität vor allem für weniger oft eingesetzte Datenbanken erhöhen sollte...
Die Extension soll allerdings keine SQL-Abstraktion bieten, wie es Projekte wie ADOdb oder PEAR::MDB2 machen, sondern lediglich die API vereinheitlichen und entsprechend schön schlank bleiben. So kann man (zumindest bei relativ kompatiblen SQL) z.B. einfach von MySQL auf PostgreSQL, oder Oracle "umswitchen". Auch werden hierdurch viel schlankere SQL-Abstraktions-Schichten möglich.
MDB2 hat eine zu PDO kompatible API (bzw. werden noch einige Kleinigkeiten angepasst), so dass man schon heute mit PHP 4 oder 5.0 Code schreiben und einsetzen kann, der kompatibel zu PDO sein wird. Das ist auch einer der Gründe warum ich MDB2 (produktiv) einsetze (hat noch ein paar andere nette Features, man kann komplette Datenbanken konvertieren, ist AFAIK die schnellste Datenbank-Abstraktion, hat aus den Fehlern von PEAR::DB, MDB und Matabase gelernt, vor allem MySQL, PostgreSQL und Oracle werden von verschiedenen Leuten produktiv eingesetzt...).
Leider ist MDB2 noch nicht wirklich ordentlich dokumentiert, aber mir hat folgendes geholfen:
Beispiel: http://cvs.php.net/co.php/pear/MDB2/docs/examples/example.php
Quellcode: http://cvs.php.net/co.php/pear/MDB2/ (gut kommentiert)
API: http://pear.php.net/package/MDB2/docs/2.0.0beta2/
(bin auch gerne behilflich wenn jemand Fragen hat...)
PDO ist jetzt seit einigen Tagen als Beta veröffentlicht worden mit der Aufforderung es ordentlich zu testen: http://netevil.org/node.php?nid=186 (Autor)
Im Artikel sind einige weitere Informationen verlinkt.
In jedem Fall ist der folgende OTN Artikel ganz interessant: http://www.oracle.com/technology/pub/articles/php_experts/otn_pdo_oracle5.html
Wie gesagt, das ist mehr oder weniger noch Zukunftsmusik - vor allem wenn man drauf angewiesen ist dass der Hoster das installiert... Aber sonst macht es IMHO durchaus Sinn sich das schonmal anzugucken!
Viele Grüße
Andreas
SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/