Maison >développement back-end >tutoriel php >Comment puis-je réécrire l'ancien code MySQL-PHP en utilisant les fonctions obsolètes `mysql_*` avec des instructions préparées modernes et un PDO ?

Comment puis-je réécrire l'ancien code MySQL-PHP en utilisant les fonctions obsolètes `mysql_*` avec des instructions préparées modernes et un PDO ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 00:55:28272parcourir

How can I rewrite old MySQL-PHP code using deprecated `mysql_*` functions with modern prepared statements and PDO?

Réécriture de l'ancien code MySQL-PHP avec des fonctions mysql_* obsolètes

Dans cette ère moderne de développement PHP, il est impératif de rester à jour- à jour avec les meilleures pratiques. L'une des préoccupations les plus urgentes est la dépréciation des fonctions mysql_* au profit d'instructions préparées et de PDO (PHP Data Objects) plus sûrs et plus stables.

Si vous vous trouvez dans la situation malheureuse de travailler avec du code existant qui utilise toujours les fonctions mysql_*, n'ayez crainte ! Voici un guide étape par étape pour vous aider à réussir cette transition.

Conversion des paramètres de connexion

Votre configuration initiale est convertie en chaîne de connexion de PDO comme suit :

<code class="php">// Old:  $db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');
// New:  $db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>

Suppression des fonctions redondantes

Les constructeurs (__construct) et les destructeurs (__destruct) ne sont plus nécessaires avec PDO. La connexion est établie automatiquement lors de l'instanciation de l'objet PDO.

Refactoring Database Selection

La fonction selectDb est également rendue redondante. La sélection de la base de données est incorporée dans la chaîne de connexion PDO.

Classe mise à jour

Le code suivant reflète la classe dbConn mise à jour :

<code class="php">class dbConn extends PDO
{
    public function __construct($dsn, $user, $password, $options = [])
    {
        parent::__construct($dsn, $user, $password, $options);
    }
}</code>

Extensibilité

Si vous le souhaitez, vous pouvez étendre depuis PDO pour créer votre propre classe de base de données personnalisée. Cela permet plus de flexibilité et de fluidité dans votre code.

Exemple d'utilisation

<code class="php">$db = new dbConn('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');

// Query using prepared statements
$statement = $db->prepare('SELECT * FROM users WHERE name = ?');
$statement->execute([$name]);</code>

Conclusion

Adoption du PDO dans votre code PHP apporte une sécurité, une stabilité et une convivialité améliorées pour les développeurs. En suivant ces étapes, vous pouvez réécrire avec succès l'ancien code mysql_* et améliorer vos pratiques de développement PHP.

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