Was ist MySQLi und was sind die Unterschiede zu MySQL?

Autor: Hosttest Redaktion   |29.10.2020

MySQLiDynamische 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.

 

Webhosting mit MySQL Datenbanken finden

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.

 

Webhosting mit MySQL Datenbanken finden

Jetzt das perfekte MySQL Webhosting sichern

Zum MySQL Webhosting Vergleich

 

Foto: Gerd Altmann auf Pixabay

Schreibe einen Kommentar



Weitere Webhoster


Weitere interessante Artikel

Webhoster im Fokus Anzeige
Offene IT-Stellen
IT-Systemadminist...
IP-Projects GmbH & Co. KG
Aktuelle Ausschreibungen
Mehrere VPS + Exc...
Vor kurzem Beendet
Suche .io Domain
Vor kurzem Beendet
Webspace, externe...
Vor kurzem Beendet
Domain Reselling,...
Vor kurzem Beendet
Neueste Bewertungen
Heike D. hat STRATO GmbH bewertet
Benjamin R. hat ayedo bewertet
Franziska hat w4h.shop bewertet
Nadia hat SiteGround bewertet
Felix hat LA Webhosting bewertet
Matthias hat STRATO GmbH bewertet
Thomas F. hat LA Webhosting bewertet
Michael K. hat IONOS bewertet
Jakob hat Pixel X e.K. bewertet
Timo hat w4h.shop bewertet
Karin H. hat Febas bewertet
Bernhard hat ServMedia.de bewertet
Dominik hat IP-Projects GmbH & Co. KG bewertet
Dieter S. hat Pixel X e.K. bewertet
Frank hat DomainFactory bewertet
Manfred S. hat Cloud86 bewertet
Sebastian W. hat Pixel X e.K. bewertet
Geprellter hat DomainFactory bewertet
Herbi hat Rainbow-Web.com bewertet
Christian N. hat STRATO GmbH bewertet