Was ist MySQLi und was sind die Unterschiede zu MySQL?
Dynamische Webseiten erzeugen ihren Inhalt aus einer Kombination von Anweisungen in einer Programmiersprache wie PHP, Python oder Perl, die Inhalte wie Texte oder Links aus einer Datenbank in MySQL, MariaDB oder - je nach Inhalten - speziellen Formaten wie InfluxDB oder Redis abrufen. Die Kommunikation erfolgt dabei über Schnittstellen zwischen dem Interpreter der Sprache und einem Server für die Datenbank, der seinerseits ein Speichersubsystem (Engine) wie InnoDB für die Abfrage und Manipulation der Daten nutzt. Wie dieser Austausch stattfindet, beeinflusst wesentlich die Effizienz der Übermittlung. Bei der von den meisten Content Management Systemen (CMS) verwendeten Skriptsprache PHP übernahm diese Aufgabe lange Zeit die integrierte Erweiterung (Extension) MySQL. Mit PHP 7.0 stellten die Programmierer diese jedoch nach mehr als einem Jahrzehnt der Umstellung ein - sie ersetzt eine neue Funktion mit dem Namen mysqli().
Wofür steht MySQLi?
Seit seiner ersten Version aus dem Jahr 1994 entwickelte sich MySQL wegen seiner Funktionalität und einer Verfügbarkeit entsprechend der GNU GPL Open Source Lizenz zu einem inoffiziellen, lange Zeit jedoch praktisch verbindlichen Standard für das Webhosting. Die Kombination aus Linux Server, Apache Webserver, MySQL Datenbank und PHP als verarbeitende Skriptsprache stellt bis heute die am häufigsten verwendete Umgebung für Webseiten dar und dient somit als Basis für die meisten CMS inklusive WordPress, Joomla sowie quelloffene oder proprietäre Shopsysteme. Verantwortlich für die Kommunikation zwischen PHP und dem Datenbank Server war die gleichnamige Erweiterung.
Um auf die sich wandelnden Anforderungen zu regieren, schufen die Entwickler mit MySQLi eine neue Version - die Abkürzung steht für "erweitertes" (Improved) MySQL und sollte eine neue Generation des PHP Treibers für den Datenbank Server ankündigen. Die Einführung erfolgte zunächst mit der Version PHP 5.0 für Microsoft Windows, seit 5.3 stellt MySQLi den nativen Treiber dar. Die Unterstützung für die alte Syntax mit dem Befehl mysql() statt mysqli() wurde seit PHP 7.0 eingestellt - alte Skripte sind deshalb nicht mehr direkt kompatibel. Dies betrifft allerdings lediglich die Programmierung und schränkt keinesfalls die Nutzung von Datenbanken in MySQL oder MariaDB oder Engines wie InnoDB oder MyISAM ein.
Jetzt das perfekte MySQL Webhosting sichern
Zum MySQL Webhosting Vergleich
Welche Unterschiede bestehen zwischen MySQL und MySQLi?
Die Umstellung von MySQLi stellte eine logische Reaktion auf die wachsende Verbreitung und die steigende Bedeutung von MySQL und PHP im Internet dar. Sie bedeutete in mehr als einer Hinsicht einen Wandel von der früheren Struktur. So gehören zu den von MySQLi eingeführten Neuheiten unter anderem:
- Möglichkeit zu objektorientierter statt rein prozeduraler Programmierung
- Einführung von durch Platzhalter gekennzeichneten, universellen "Prepared Statements"
- Höhere Sicherheit durch Abschirmung gegen Angriffe durch SQL Injections
- Höhere Effizienz durch schlankeren Code und schnellere Verarbeitung
- Deutliche Steigerung der Geschwindigkeit bei allen Arten von Zugriffen
- Bessere Unterstützung für universelle Code Snippets
- Höherer Umfang an Funktionen für Manipulation der Datenbank
Grundsätzlich besteht heute kein sinnvoller Grund mehr, weiterhin die alte Version zu verwenden - unabhängig davon, ob als Engine InnoDB, MyISAM oder ein anderes Speichersubsystem dient. Diese Variante arbeitet nach modernen Maßstäben nicht allein ineffizient und langsam, sie weist darüber hinaus zahlreiche bekannte und in der Vergangenheit mehrfach ausgenutzte Schwachstellen in der Sicherheit auf, die die Programmierung sicherer Umgebungen deutlich erschweren.
Verwenden aktuelle Webseiten ausschließlich MySQLi?
Ohne jeden Zweifel stellt MySQLi den heutigen Standard für die Kommunikation zwischen PHP und Datenbank auf einem Server. Alle von ihrer Entwicklern gepflegten und für einen produktiven Einsatz vorgesehenen CMS, Shopsysteme und Werkzeuge wie phpMyAdmin verwenden schon seit längerer Zeit ausschließlich MySQLi statt MySQL. Anders sieht es bei einigen älteren Versionen und über lange Zeit nicht aktualisierten Plug-ins aus. Diese sollten allerdings aus den oben genannten Gründen - allen voran der Sicherheit und Performance - unverzüglich auf ein aktuelles System umgestellt werden. Bei kommerziellen Webseiten drohen andernfalls neben Nachteilen im Wettbewerb ebenfalls ernsthafte und eventuell rechtliche Konsequenzen, falls der Betreiber seiner Pflicht zur Sorgfalt für vertrauliche Daten nicht nachkommt.
Jetzt das perfekte MySQL Webhosting sichern
Zum MySQL Webhosting Vergleich
Foto: Gerd Altmann auf Pixabay
Schreibe einen Kommentar
- Datenbanken
Tags zu diesem Artikel
Weitere Webhoster
Weitere interessante Artikel
Was ist Adminer und eignet es sich als Aternative zu phpMyAdmin?
Wir zeigen euch die Vorteile von Adminer als Alternative zu phpMyAdmin. Das sind die Vorteile und die Nachteile.
Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.
Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...