Maison > base de données > tutoriel mysql > Comment puis-je moderniser mon ancien code MySQL-PHP à l'aide de PDO et d'instructions préparées ?

Comment puis-je moderniser mon ancien code MySQL-PHP à l'aide de PDO et d'instructions préparées ?

Mary-Kate Olsen
Libérer: 2024-12-01 01:16:10
original
243 Les gens l'ont consulté

How Can I Modernize My Legacy MySQL-PHP Code Using PDO and Prepared Statements?

Réécriture du code MySQL-PHP hérité avec dépréciation :

Dans le domaine du développement PHP, les fonctions mysql_* sont devenues obsolètes, nécessitant leur remplacement par des instructions préparées et des PDO plus sécurisés. Ce guide approfondira les détails de la façon de réécrire efficacement le code existant à l'aide de ces approches modernes.

Concepts de base :

  • PDO : PDO (PHP Data Objects) fournit une interface améliorée et standardisée pour les opérations de base de données.
  • Préparé Déclarations : Les déclarations préparées améliorent la sécurité en empêchant les attaques par injection SQL. Ils permettent l'exécution de requêtes dynamiques sans risque d'entrée malveillante compromettant votre base de données.

Réécriture du code :

Examinons l'exemple de code fourni :

1. Configuration de la connexion :

Ancien :

$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');
Copier après la connexion

Nouveau :

$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
Copier après la connexion
  • Le Le constructeur PDO combine les informations de connexion en une seule chaîne de connexion, éliminant ainsi le besoin de ressources supplémentaires. configuration.

2. Sélection de base de données :

Ancien :

public function selectDb($database)
Copier après la connexion

Nouveau : N/A

  • AOP ne nécessite plus de sélection explicite de base de données. Toutes les opérations de base de données seront effectuées dans le contexte de la base de données spécifiée dans la chaîne de connexion.

3. Élimination du constructeur et du destructeur :

  • PDO fournit un constructeur et un destructeur par défaut. Les versions implémentées manuellement dans le code existant ne sont plus nécessaires.

Code révisé :

Le code révisé résultant conserverait uniquement la fonction publique connect() méthode, qui doit être modifiée pour se connecter à la base de données à l'aide du constructeur PDO :

public function connect()
{
    $this->conn = new PDO('mysql:host=' . $this->server . ';dbname=' . $this->db_people . ';charset=UTF-8', $this->user, $this->pass);
}
Copier après la connexion

Supplémentaire Remarques :

  • Si vous souhaitez étendre les fonctionnalités de PDO avec une classe personnalisée, vous pouvez hériter de PDO lui-même.
  • Les instructions préparées sont cruciales pour améliorer la sécurité et doivent être utilisé autant que possible.
  • Référez-vous au manuel PHP pour des informations détaillées sur PDO et préparé déclarations.

En suivant ces directives, vous pouvez réécrire efficacement votre code existant pour garantir la conformité avec les pratiques de développement PHP modernes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal