Tach!
wie würde hier denn der Code aussehen, wenn man den mit der neueren Form schreiben würde? und müsste ich dann alles umschreiben oder kann man das mit dem alten auch mischen?
Mischen sollte man gar nicht erst versuchen. Es sind jedoch im Wesentlichen nur die mysql_*-Funktionen zu ersetzen. - - - So einfach wirds aber nicht werden, denn es gibt dann doch noch ein paar Unterschiede in der Handhabung. Alle drei Varianten (mysql seit neuestem deprecated, mysqli und PDO mit Zukunft) sind bei Choosing an API in ganz kurzer Form dargestellt.
Die bisherigen 08/15-Anwendungen gehen fast 1:1 auf mysqli umzusetzen. mysqli ist nicht nur ein Ersatz sondern auch eine Erweiterung. Die alte mysql-Erweiterung ist im Funktionsumfang bei ungefähr MySQL 4.1 stehengeblieben. Seit der Zeit gibt es allerdings auch schon das im Funktionsumfang erweitere mysqli (i wie improved). Damit können all die neuen Dinge, wie Prepared Statement, Stored Procedures, Mehrfach-Statements und -Ergebnissets bedient werden. Doch damit kommt der 08/15-Anwender kaum in Berührung. Üblicherwiese sind nur noch Prepared Statements für ihn interessant, besonders auch aus sicherheitstechnischem Aspekt, den damit sind wesentlich schwerer SQL-Injection-anfällige Statements zu schreiben. Allerdings ist die Benutzerschnittstelle dafür in mysqli nicht sonderlich anwenderfreundlich, das hat PDO besser hinbekommen. PDO ist eigentlich angetreten, alle DBMSe einheitlich zu bedienen. Ansonsten war die Unterstützung in PHP für jedes DBMS sehr verschieden ausgefallen - in Bedienung und Leistungsumfang. Diese Multi-DBMS-Fähigkeit von PDO braucht man jedoch eher selten, ebenfalls die (Experten-)Funktionalität die mysqli kann, PDO aber nicht. Eine Entscheidung zwischen PDO und mysqli wird daher wohl eher darauf hinauslaufen, welches sich besser handhaben lässt. - Ach ja, PDO ist nur objektorientiert zu haben, mysqli in beiden Varianten, objektorientiert und wie mysql funktional. Das heißt aber nicht, dass man nun komplett Neuland betreten muss, wenn man bisher die OOP unbeachtet gelassen hat. PHP kann sehr gut OOP und herkömmliche Programmierung mischen. Und man muss das sogar tun, weil nur weniges objektorientiert zur Verfügung steht. Das heißt, man kann seine Datenbankfunktionen objektorientiert in PDO oder mysqli schreiben, den Rest aber problemlos herkömmlich lassen.
dedlfix.