Was ist der Unterschied zwischen mysqli_connect und mysql_connect?

Lesezeit: 3 Minuten

Benutzer-Avatar
Lokjunge

Was ist der Unterschied zwischen mysqli_connect und mysql_connect?

Ich frage mich nur, wann ich welchen verwenden soll. Ich sehe, dass beide verwendet werden, und es scheint, als wären sie austauschbar.

Welche Verbindung ist besser und wie unterscheiden sie sich grundlegend beim Verbinden?

  • Mysqli_connect vs. Mysql_connect?

    – Joe Stefanelli

    17. Juni 2011 um 18:28 Uhr

  • mysqli_*-Funktionen werden mit einer mysqli_connect-Ressource verwendet und mysql_*-Funktionen werden mit einer mysql_connect-Ressource verwendet. mysqli hat mehr Funktionen und ist die aktueller zu verwendende Version. Vielleicht möchten Sie sich auch mit PDO befassen, das eine OO-Methode zum Herstellen einer Verbindung zu Datenbanken ist.

    – dqhendricks

    17. Juni 2011 um 18:38 Uhr

  • @dqhendricks: Technisch gesehen ist diese mysqli “Ressource” ein Objekt, das mysqli OO und prozedurale Stile vollständig austauschbar macht … aber völlig inkompatibel mit allen alten mysql-Erweiterungsfunktionen.

    – Bob-der-Zerstörer

    17. Juni 2011 um 20:01 Uhr

  • @bob-the-destroyer guter Punkt. Ich denke, der Vorteil von PDO ist, dass es Ihnen eine gemeinsame Schnittstelle für die Interaktion mit einer Vielzahl von RDBMS bietet

    – dqhendricks

    17. Juni 2011 um 21:00 Uhr

  • Siehe auch: Warum sollte ich mysql_*-Funktionen nicht in PHP verwenden?

    – Simba

    3. November 2015 um 13:30 Uhr


Sie sind nicht austauschbar. Es gibt verschiedene Erweiterungen für den Zugriff auf MySQL-Datenbanken.

Sehen http://ca2.php.net/manual/en/book.mysqli.php und http://ca2.php.net/manual/en/book.mysql.php.

  • Sind sie also mit v4.1.3 und neuer austauschbar?

    – Lokjunge

    17. Juni 2011 um 18:32 Uhr

  • @ cfarm54 – Beide können verwendet werden. Sie sind nicht austauschbar (wie in you connect with mysql_connect() und versuchen Sie es dann mit mysqli_query()). Auf der MySQLi-Übersichtsseite heißt es: “Wenn Sie die MySQL-Versionen 4.1.3 oder höher verwenden, wird dringend empfohlen, stattdessen die mysqli-Erweiterung zu verwenden.”

    – François Deschenes

    17. Juni 2011 um 18:35 Uhr

mysqli_*() ist die moderne Art, über PHP auf eine MySQL-Datenbank zuzugreifen.

Sie sind nicht austauschbar.

Benutzer-Avatar
Chris Baker

Sehen Sie sich die Dokumentation an: http://ca3.php.net/manual/en/mysqli.overview.php

Aus dem Abschnitt “Was ist die mysqli-Erweiterung von PHP?”

Die mysqli-Erweiterung, oder wie sie manchmal auch als die verbesserte MySQL-Erweiterung bezeichnet wird, wurde entwickelt, um die neuen Funktionen der MySQL-Systemversionen 4.1.3 und höher zu nutzen. Die mysqli-Erweiterung ist in den PHP-Versionen 5 und höher enthalten.

Es gibt mehrere wichtige Unterschiede zwischen den beiden Bibliotheken:

  • Mysqli unterstützt Zeichensätze, mysql nicht
  • Mysqli unterstützt vorbereitete Anweisungen, mysql nicht
  • Mysql unterstützt keine Mehrfachanweisungen, mysqli schon

MySQL und MySQLi sind zwei separate PHP-Erweiterungen, wobei MySQLi die neuere ist. Obwohl das Connect funktioniert kann austauschbar sein, davon würde ich abraten!

MySQLi bietet eine objektorientierte Methode für den Zugriff auf MySQL-Datenbanken.

Kurz gesagt: Wenn Sie mysql_query() verwenden, sollten Sie mysql_connect() verwenden, um sich mit Ihrem Server zu verbinden.

Andere haben bereits Links zum PHP-Handbuch gepostet.

Mysqli_connect ist die neuere Version der MySQL-Bibliothek.

Hier steht I in mysqli für Improved.

Mit Mysqli wurden einige Dinge eingeführt.

Sie sind,

-Vorbereitete Erklärungen.

-Objektorientierte Schnittstelle.

-Unterstützung für mehrere Anweisungen.

-Eingebettete Serverunterstützung.

Die mysqli-Erweiterung hat eine Reihe von Vorteilen, die wichtigsten Verbesserungen gegenüber der mysql-Erweiterung sind:

-Objektorientierte Schnittstelle

-Unterstützung für vorbereitete Anweisungen

-Unterstützung für mehrere Anweisungen

-Unterstützung für Transaktionen

-Erweiterte Debugging-Funktionen

-Eingebettete Serverunterstützung

Mysql_connect() ist also im Grunde der Datenbank-Connector zu Mysql, während Mysqli_connect() der Connector für Mysqli-Datenbank ist

Benutzer-Avatar
Umang Soni

Es gibt zu viele Unterschiede zwischen diesen MYSQL- und MYSQLi-PHP-Datenbankerweiterungen. Diese Unterschiede basieren auf einigen Faktoren wie Funktionen, Leistung, Vorteilen, Bibliotheksfunktionen, Sicherheit und anderen. Das „i“ in mysqli steht für „improved“. Die „mysqli“-Erweiterung ist eine Verbesserung gegenüber der alten „mysql“-Erweiterung.Klicken Sie hier für weitere Informationen

Geben Sie hier die Bildbeschreibung ein

1143950cookie-checkWas ist der Unterschied zwischen mysqli_connect und mysql_connect?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy