Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum sollte ich mysql_*-Funktionen nicht in PHP verwenden?

Die MySQL-Erweiterung:

  • Befindet sich nicht in aktiver Entwicklung
  • Ist offiziell veraltet ab PHP 5.5 (veröffentlicht Juni 2013).
  • Wurde entfernt ganz ab PHP 7.0 (veröffentlicht Dezember 2015)
    • Das bedeutet, dass ab dem 31. Dezember 2018 es existiert in keiner unterstützten Version von PHP. Wenn Sie eine PHP-Version verwenden, die dies unterstützt, verwenden Sie eine Version, die keine Sicherheitsprobleme behebt.
  • Es fehlt eine OO-Schnittstelle
  • Unterstützt nicht:
    • Nicht blockierende, asynchrone Abfragen
    • Vorbereitete Statements oder parametrisierte Abfragen
    • Gespeicherte Prozeduren
    • Mehrere Anweisungen
    • Transaktionen
    • Die „neue“ Passwortauthentifizierungsmethode (in MySQL 5.6 standardmäßig aktiviert; in 5.7 erforderlich)
    • Alle neuen Funktionen in MySQL 5.1 oder höher

Da es veraltet ist, macht seine Verwendung Ihren Code weniger zukunftssicher.

Der Mangel an Unterstützung für vorbereitete Anweisungen ist besonders wichtig, da sie eine klarere, weniger fehleranfällige Methode zum Maskieren und Zitieren externer Daten bieten als das manuelle Maskieren mit einem separaten Funktionsaufruf.

Siehe den Vergleich von SQL-Erweiterungen .