PHP Master | Migrer de l'extension MySQL vers PDO – Serveur d’impression

Author: Titanfall —

Short summary: Ce guide est un aperçu pratique qui vous aidera à commencer la migration de votre code PHP existant de l’utilisation de l’ancienne extension MySQL vers l’extension d’abstraction de la base de données PDO la plus récente. Je n'entrerai pas dans toutes les fonctionnalités disponibles avec PDO, mais je volonté partagez avec vous les méthodes de […]

Quick overview

Site
Tutos GameServer
Canonical URL
https://tutos-gameserver.fr/2019/05/03/php-master-migrer-de-lextension-mysql-vers-pdo-serveur-dimpression/
LLM HTML version
https://tutos-gameserver.fr/2019/05/03/php-master-migrer-de-lextension-mysql-vers-pdo-serveur-dimpression/llm
LLM JSON version
https://tutos-gameserver.fr/2019/05/03/php-master-migrer-de-lextension-mysql-vers-pdo-serveur-dimpression/llm.json
Manifest
https://tutos-gameserver.fr/llm-endpoints-manifest.json
Estimated reading time
6 minutes (344 seconds)
Word count
1144

Key points

Primary visual

PHP Master | Migrer de l'extension MySQL vers PDO

 – Serveur d’impression
Main illustration associated with the content.

Structured content

Ce guide est un aperçu pratique qui vous aidera à commencer la migration de votre code PHP existant de l’utilisation de l’ancienne extension MySQL vers l’extension d’abstraction de la base de données PDO la plus récente. Je n'entrerai pas dans toutes les fonctionnalités disponibles avec PDO, mais je volonté partagez avec vous les méthodes de base que vous aurez besoin de connaître et proposez quelques astuces pour que votre migration soit aussi rapide et simple que possible. Tout d’abord, vous devez comprendre où se situe PDO dans l’écosystème PHP. Il existe actuellement trois manières de s’interfacer avec une base de données MySQL de PHP: la première avec l’extension MySQL, la seconde avec l’extension MySQLi et la troisième avec PDO. L'extension MySQL est la plus ancienne des trois et était l'option originale utilisée par les développeurs pour communiquer avec MySQL. L'extension est maintenant déconseillée au profit des deux autres alternatives en raison des améliorations apportées aux nouvelles versions de PHP et de MySQL. MySQLi est l'extension «améliorée» permettant de travailler avec des bases de données MySQL. Il tire parti des fonctionnalités disponibles dans les versions les plus récentes du serveur MySQL, expose au développeur une interface orientée fonction et une interface orientée objet, ainsi que quelques autres choses astucieuses. Si PDO ne convient pas à votre projet, il s’agit de l’extension que vous devriez utiliser. PDO est l’extension la plus récente, qui signifie «Objets de données PHP». PDO offre une API qui consolide la plupart des fonctionnalités qui étaient auparavant réparties entre les principales extensions d’accès à la base de données, à savoir MySQL, PostgreSQL, SQLite, MSSQL, etc. expose les objets de haut niveau permettant au programmeur de travailler avec les connexions, les requêtes et les jeux de résultats de la base de données, et les pilotes de bas niveau assurent la communication et la gestion des ressources avec le serveur de base de données. La discussion et le travail vont bon train dans PDO et cela est considéré comme la méthode appropriée pour travailler avec des bases de données dans un code professionnel moderne. Dans la mesure du possible, je recommande aux personnes d’éviter les intermédiaires pour ainsi dire et de migrer de l’extension MySQL vers PDO plutôt que vers MySQLi. PDO offre une API cohérente pour travailler avec diverses bases de données. Vous n’avez donc pas besoin de modifier votre code PHP si vous devez utiliser une autre base de données. De plus, bien que l’extension MySQLi soit actuellement maintenue, il est toujours possible qu’elle soit déconseillée à l’avenir. Choisir de migrer vers PDO maintenant signifie que vous n’aurez pas à migrer plus tard et à mettre à jour votre code deux fois. J'utilise PDO et vous devriez aussi! Installation et configuration de PDO Une fois que vous avez décidé de moderniser votre code, vous devez vous assurer que PDO est correctement configuré et configuré. Comme je l'ai déjà mentionné, PDO se compose de deux parties: l'extension elle-même qui expose l'interface et un pilote de bas niveau spécifique à la base de données. Des pilotes existent pour une liste croissante de bases de données, y compris MySQL. PDO et le pilote spécifique à SQLite doivent faire partie de l'installation PHP par défaut à partir de la version 5.1.0 et le pilote spécifique à MySQL doit toujours être installé, mais la plupart des distributions Linux ont souvent des idées différentes sur la manière dont PHP doit être compilé et empaqueté. En fait, bon nombre des principales distributions regroupent désormais l'extension MySQL, l'extension MySQLi et le pilote PDO MySQL dans le même package. Il est probable que si vous utilisez MySQL sur un tel système, PDO est probablement déjà configuré pour vous.

Ubuntu construit PHP avec PDO (mais ne compresse pas le pilote SQLite par défaut) et regroupe les extensions et le pilote MySQL. Vous pouvez installer les extensions et le pilote en lançant sudo apt-get install php5-mysql. Fedora regroupe également les extensions et le pilote, mais regroupe PDO en tant que module chargeable. Fonctionnement sudo yum installer php-mysql installe les extensions et le pilote MySQL et le php-pdo package sera automatiquement inclus en tant que dépendance. SUSE est la seule distribution des trois qui construit PHP de la manière recommandée par l'équipe PHP en ce qui concerne PDO; ils construisent PHP avec PDO et inclure le pilote SQLite. yast2 --installe php5-mysql installera les extensions MySQL et le pilote dont vous avez besoin.

Sous Windows, tous les pilotes PDO sont inclus dans le dossier ext qui a été créé lors de l’installation de PHP à partir de l’archive binaire précompilée. Il vous suffit de mettre à jour votre php.ini en ajoutant ou en supprimant la ligne de commentaire: extension = php_pdo_mysql.dll Il est toujours possible de compiler vous-même les pilotes dans le pire des cas. Assurez-vous que les bibliothèques MySQL et les autres fichiers de développement sont installés et accessibles dans votre environnement de construction, car la plupart des problèmes rencontrés par les utilisateurs lors de la compilation d’un résultat résultent de l’impossibilité pour le compilateur de trouver différents liens ou fichiers d’en-tête. Requête de base Le flux de travail de base permettant d’utiliser les fonctions de l’extension MySQL pour travailler avec une base de données peut être considéré comme un processus en 5 étapes:

Établissez une connexion au serveur de base de données et sélectionnez la base de données avec laquelle vous allez travailler Construire une requête pour envoyer le serveur Envoyer la requête Itérer sur les résultats renvoyés Libérer les ressources utilisées par le résultat et éventuellement la connexion à la base de données

<? php // Étape 1: Établir une connexion $ db = mysql_connect ("localhost", "testusr", "secretpass"); mysql_select_db ("testdb", $ db);

// Étape 2: Construire une requête $ query = "SELECT * FROM foo WHERE bar = '". mysql_real_escape_string ($ zip). "'";

// Étape 3: envoyer la requête $ result = mysql_query ($ query, $ db);

// Étape 4: Itérer sur les résultats while ($ row = myql_fetch_assoc ($ result))     print_r ($ row);

// Étape 5: Libérer les ressources utilisées mysql_free_result ($ result); mysql_close ($ db); Avec PDO, le même processus peut être suivi et ressemble à ceci:

Topics and keywords

Themes: Serveur d'impression

License & attribution

License: CC BY-ND 4.0.

Attribution required: yes.

Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json

LLM Endpoints plugin version 1.1.2.