dedlfix: mysql_*-Funktionen

Beitrag lesen

Tach!

Eigentlich ist es aber besser, die bereits abgekündigten mysql_*-Funktionen nicht mehr zu verwenden, sondern mysqli_* oder PDO.

  1. Wird abgeschafft? Was bedeutet das? Muß ich dann sämtliche Scripte umschreiben, innerhalb derer ich sie benutzt hatte?

Das PHP-Handbuch zeigt zu jeder der mysql_*-Funktionen schon seit Monaten und auf der englischen Originalseite (die deutsche Übersetzung zeigt das noch nicht), dass diese Funktionen ab PHP 5.5.0 "deprecated" also missbilligt sind. Das ist ein erstes Anzeichen dafür, dass diese Funktionen mittel- oder langfristig verschwinden werden. Das passiert vermutlich noch nicht in der 5.5.x sondern erst später. Natürlich ist den PHP-Leuten bewusst, dass viele diese Funktionen verwenden und sie deshalb keine Hau-Ruck-Aktionen machen können. Es ist also noch viel Zeit, die man ungenutzt vertrödeln kann, bevor es wirklich ernst wird.

Außerdem verschwinden diese Funktionen nicht zu einem Stichtag weltweit aus dem Angebot, sondern sie sind nur in neueren PHP-Versionen nicht mehr enthalten. Alte Versionen laufen weiterhin damit. Doch irgendwann will man einfach diese alten Versionen nicht mehr verwenden oder unterstützen, besonders wenn dazu keine Sicherheitspatche mehr ausgegeben werden. Die Linux-Distributionen, XAMP-Pakete, Hoster und so weiter werden also in (geschätzt) ein paar Jahren auch nur noch PHP ohne die mysql_*-Funktionen im Angebot haben. Natürlich werden sie es vorher ankündigen, und natürlich werden viele bis auf den letzten Drücker mit dem Umschreiben ihrer Scripte oder der Suche nach alternativen Anwendungen warten.

Damit lautet die Antwort konkreter: Du wirst nicht umhinkommen, die Scripte umzuschreiben, die in ferner Zukunft noch laufen sollen, wenn dir dann kein Museums-PHP mehr zur Verfügung steht.

  1. Was ist besser? mysqli oder PDO?

mysqli ist näher an den von der MySQL-API zur Verfügung gestellten Funktionalität dran. PDO ist eine Abstraktion, die auf vielen DBMS-Systemen generell lauffähig sein möchte. (Unterschiede in den SQL-Dialekten kann und will es jedoch nicht ausgleichen.) PDO bietet alles, was man meistens so braucht, und das teilweise in einfacherer/anwenderfreundlicherer Form als mysqli. Aber einige eher seltene Spezialfälle wird man mit PDO nicht erledigen können.

dedlfix.