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
Mary-Kate Olsenoriginal
2024-12-01 01:16:10314parcourir

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');

Nouveau :

$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
  • 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)

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);
}

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!

Déclaration:
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