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
Webhosting mit DN...
noch 5 Tage und 7 Stunden
Providerwechsel
noch 4 Tage und 10 Stunden
VPS with Virtuali...
noch 4 Tage und 9 Stunden
Webhosting mit E-...
Vor kurzem Beendet
Neueste Bewertungen
Werner hat lima-city bewertet
Jürgen W. hat manitu bewertet
Hannes B. hat Cloud86 bewertet
Christian A. hat Pixel X e.K. bewertet
Andreas hat IONOS bewertet
Nico hat DomainFactory bewertet
Heinz-Peter B. C. hat lima-city bewertet
Fin hat lima-city bewertet
Manuela S. hat ServMedia.de bewertet
Patrick P. hat STRATO GmbH bewertet
Cüneyit B. hat IONOS bewertet
Thomas M. hat DomainFactory bewertet
Marco K. hat IP-Projects GmbH & Co. KG bewertet
Julian U. hat STRATO GmbH bewertet
Jennifer hat Alfahosting GmbH bewertet
Severin L. hat DomainFactory bewertet
Markus L. hat SiteGround bewertet
Vladimir V. hat SpeedIT Solutions bewertet
Helmut hat Web-Service4U bewertet
Johann Z. hat lima-city bewertet