Download- und Support-Seite myPHP-Guestbook



MySQL - MySQLi - PDO

 

Was ist MySQLi? - MySQLi ist genauso eine Erweiterung von PHP wie MySQL oder PDO, nur dass es sich bei MySQLi um eine gegenüber dem veralteten MySQL verbesserte (i = improved = verbessert) Erweiterung handelt.

Die MySQL-Abfragen sind seit Sommer 2013 mit der Freigabe von PHP 5.5.0 von den PHP-Entwicklern als veraltet markiert und wurden mit PHP 7.0 Anfang Dezember 2015 entfernt.

Eingeführt mit PHP 5.0 ist MySQLi sicherer und schneller als MySQL und kann sowohl objektorientiert wie auch prozedural genutzt werden, im Gegensatz z.B. zu PDO, das nur objektorientiert genutzt werden kann.

Der Versuch einer kurzen Begriffserklärung aus der Feder zweier Autoren, die das alles viel besser können als ich:

Aus dem Buch: PHP 5.3 & MySQL 5.4: Programmierung, Administration, Praxisprojekte

von Michael Kofler, Bernd Öggl,
Verlag: Pearson Deutschland GmbH, 2010
ISBN 3827328764, 9783827328762

Kapitel 11, Seiten 407, 408 (Fettdruck hinzugefügt):


"msql: Die msql-Funktionen sind vielen PHP-Programmierern aus älteren PHP-Versionen bekannt.

msqli: Ab PHP 5.0 ermöglicht die objektorientierte Schnittstelle msqli eine elegantere Programmierung und gibt Zugang zu einigen neuen MySQL-Funktionen ...

pdo: Ab PHP 5.1 können Sie mit MySQL auch über die PHP Data Objekts (PDO) kommunizieren. ...

...

Die Qual der Wahl

Bei neuen Projekten raten wir Ihnen zum Einsatz der mysqli-Schnittstelle ... . Für mysqli spricht, dass diese Schnittstelle sehr ausgereift und weit verbreitet ist. Außerdem bietet sie die bei Weitem beste Unterstützung für MySQL-spezifische Besonderheiten. ..."


Weitere Infos zu MySQLi aus dem Web z.B. auch unter Wahl eines API zur Verbindung mit MySQL und FAQ zur Wahl eines API.

Der dem Download des Gästebuch-Scripts für eine Neuinstallation beigefügte Installer prüft ebenso wie das für ein Update von den Gästebuch-Versionen 3.x beigefügte Script das Vorhandensein der notwendigen MySQLi-Erweiterung auf Ihrem Webspace automatisch, so dass Sie sich hierum nicht weiter kümmern müssen.

Wer jedoch schon vor der Prüfung durch das Installer-Script des myPHP Guestbook wissen möchte, ob MySQLi in seiner PHP-Umgebung auch bestimmt enthalten ist, fragt entweder beim Kundendienst seines Hosters nach oder prüft selbst mit phpinfo(INFO_MODULES), was dann neben vielen weiteren Infos u.a. in etwa das zeigen sollte:

MySQLi Unterstützung angezeigt mit 'phpinfo()'

Auch wenn das Buch, aus dem das Zitat oben stammt, schon wieder etwas älter sind und PDO sich seither weiter verbeitet hat, ändert das nichts daran, dass MySQLi zumindest genauso verbreitet sein dürfte, wie PDO, wenn nicht ohnehin beides verfügbar ist, und von der offizielen PHP-Website für aktuelle wie zukünftige Projekte uneingeschränkt empfohlen wird (siehe Link oben "Wahl eines API").

Letztlich nützt es auch alles nichts: ein Umstieg muss so oder so spätestens dann erfolgen, wenn die eigene Website auf PHP 7 umgestellt wird und weiteres Zuwarten unter Nutzung der überholten "mysql_* "-Abfragen aus den bisherigen myPHP Guestbook-Scripten verschiebt das Problem nur, löst es aber nicht.