Auf der Basisebene beantworten die mysql-, mysqli- und PDO-Erweiterungen alle die Frage wie spreche ich mit der Datenbank? Sie alle bieten Funktionen und Funktionen, um eine Verbindung zu einer Datenbank herzustellen und Daten von ihr zu senden und abzurufen. Sie können sie alle gleichzeitig verwenden, um mehrere Verbindungen zur Datenbank gleichzeitig herzustellen, aber das ist normalerweise Unsinn.
mysql* ist eine sehr einfache Erweiterung, die es Ihnen im Grunde ermöglicht, sich mit der Datenbank zu verbinden, ihr SQL-Abfragen zu senden und nicht viel mehr.
mysqli verbessert dies (wie der Name schon sagt), indem es parametrisierte Abfragen und ein paar andere Dinge in die hinzufügt mix.
PDO ist eine Erweiterung, die mehrere Datenbanktreiber in einem Paket abstrahiert, d. h. Sie können denselben Code verwenden, um sich mit MySQL, Oracle, MS SQL Server und einer Reihe anderer Datenbanken zu verbinden, ohne datenbankspezifisch zu sein Erweiterungen oder schreiben Sie Ihren Code neu, wenn Sie die Datenbank wechseln (zumindest theoretisch). Es unterstützt auch parametrisierte Abfragen.
Wenn Sie wissen, dass Sie ausschließlich MySQL verwenden werden, ist mysqli eine gute Wahl. Zumal Sie es prozedural verwenden können, was Sie bereits von der mysql-Erweiterung gewohnt sind. Wenn Sie mit OOP nicht vertraut sind, ist das hilfreich. Ansonsten ist PDO ein netter objektorientierter, flexibler Datenbank-Connector.
* Beachten Sie, dass die MySQL-Erweiterung jetzt veraltet und wird irgendwann in der Zukunft entfernt . Das liegt daran, dass es uralt ist, voller schlechter Praktiken und einige moderne Funktionen fehlen. Verwenden Sie es nicht, um neuen Code zu schreiben.